Tutorials  /  Security

RabbitMQ auf FreeBSD 14 mit Nginx und SSL sicher einrichten

Ccentron Redaktion · August 2025 ·7 Min. Lesezeit ·Security, Tutorial

RabbitMQ ist ein Open-Source-Nachrichtenbroker, der die Kommunikation zwischen verteilten Systemen über Message-Queues ermöglicht. Das System basiert auf dem Advanced Message Queuing Protocol (AMQP), um eine zuverlässige und asynchrone Nachrichtenübertragung sicherzustellen. Mit Unterstützung für verschiedene Kommunikationsmuster wie Publish/Subscribe, Request/Reply und Punkt-zu-Punkt bietet RabbitMQ zudem Funktionen für Ausfallsicherheit, Sicherheit und dauerhafte Speicherung. Diese Eigenschaften machen es zu einer stabilen Lösung für leistungsstarke Anwendungen.

In dieser Anleitung erfahren Sie, wie Sie RabbitMQ unter FreeBSD 14.0 installieren und die webbasierte Administrationsoberfläche zur Verwaltung von Queues nutzen.

Voraussetzungen

Stellen Sie vor der Installation sicher, dass Sie folgende Schritte abgeschlossen haben:

  • Eine FreeBSD 14.0-Instanz eingerichtet haben
  • Einen A-Eintrag für Ihre Domain zur öffentlichen IP der Instanz angelegt haben
  • Per SSH auf die Instanz zugegriffen haben
  • Einen Nicht-Root-Benutzer mit sudo-Rechten angelegt und zu diesem gewechselt haben
SEC

Passende Infrastruktur bei centron

Absicherung endet nicht beim Server: Cloud Firewalls filtern den Datenverkehr vor der VM – zentral verwaltet, ohne Aufpreis je Regel. Cloud Firewalls ansehen →

RabbitMQ unter FreeBSD 14.0 installieren

RabbitMQ ist in den offiziellen FreeBSD 14.0-Paketquellen verfügbar. Alternativ können Sie es über das Ports-System oder als generisches Binary installieren. Die nachfolgenden Schritte zeigen die Installation über den Paketmanager pkg.

Paketindex aktualisieren

Konsole
$ sudo pkg update

RabbitMQ-Paket installieren

Konsole
$ sudo pkg install -y rabbitmq

Dienst für Autostart aktivieren

Konsole
$ sudo sysrc rabbitmq_enable=YES

RabbitMQ-Dienst starten

Konsole
$ sudo service rabbitmq start

Status des RabbitMQ-Dienstes überprüfen

Konsole
$ sudo service rabbitmq status

Beispielausgabe:

Status des Knotens ......

Laufzeit

OS PID: 1283

Betriebssystem: FreeBSD

Laufzeit (Sekunden): 7

Wartungsmodus: false

Listener

Interface: [::], Port: 25672, Protokoll: clustering, Zweck: Kommunikation zwischen Knoten und CLI

Interface: [::], Port: 5672, Protokoll: amqp, Zweck: AMQP 0-9-1 und AMQP 1.0

Interface: 0.0.0.0, Port: 5672, Protokoll: amqp, Zweck: AMQP 0-9-1 und AMQP 1.0

Wenn Sie eine alternative Einrichtung bevorzugen, können Sie auch eine Anleitung zur Installation von RabbitMQ auf Ubuntu verwenden, um Ihre Messaging-Workloads zu optimieren.

RabbitMQ einrichten

Obwohl RabbitMQ standardmäßig über die Kommandozeile bedient werden kann, bietet das Webinterface eine komfortable Oberfläche zur Verwaltung von Knoten und Queues. Die folgenden Schritte aktivieren das Webinterface und richten ein Administratorkonto ein.

Management-Plugin aktivieren

Konsole
$ sudo rabbitmq-plugins enable rabbitmq_management

Ausgabe:

Aktivieren von Plugins auf dem Knoten rabbit@centron:

rabbitmq_management

Folgende Plugins wurden konfiguriert:

rabbitmq_management

rabbitmq_management_agent

rabbitmq_web_dispatch

Übernehme Konfiguration für rabbit@centron...

Folgende Plugins wurden aktiviert:

rabbitmq_management

rabbitmq_management_agent

rabbitmq_web_dispatch

3 Plugins gesetzt.

Offline-Änderung; wirksam nach Neustart des Brokers.

Admin-Benutzer anlegen

Konsole
$ sudo -u rabbitmq rabbitmqctl add_user admin strong_password

Ausgabe:

Benutzer „admin“ wird hinzugefügt ...

Fertig. Denken Sie daran, diesem Benutzer Berechtigungen für virtuelle Hosts zu geben! Nutzen Sie ‘rabbitmqctl help set_permissions’ für Details.

Administratorrechte zuweisen

Konsole
$ sudo -u rabbitmq rabbitmqctl set_user_tags admin administrator

Ausgabe:

Setze Benutzer-Tags für „admin“ auf [administrator] ...

Vollzugriff gewähren

Konsole
$ sudo -u rabbitmq rabbitmqctl set_permissions admin ".*" ".*" ".*"

Das Muster ".*" in diesem Befehl ist ein regulärer Ausdruck, der vollen Zugriff auf alle Operationen wie Konfiguration, Schreiben und Lesen gewährt.

RabbitMQ neu starten

Konsole
$ sudo service rabbitmq restart

Ausgabe:

Beende rabbitmq.

Starte rabbitmq.

RabbitMQ unter FreeBSD 14.0 mit Nginx und SSL absichern

Standardmäßig ist die Weboberfläche von RabbitMQ über Port 15672 erreichbar. Um die Sicherheit zu erhöhen, empfiehlt es sich, den Zugriff über einen Reverse Proxy zu leiten und die Verbindung per SSL zu verschlüsseln. Im Folgenden findest du die Schritte zur Einrichtung von Nginx als Reverse Proxy und zur Konfiguration der IPFW-Firewall für SSH-, HTTP- und HTTPS-Zugriff.

Standard-Gastbenutzer entfernen

Konsole
$ sudo -u rabbitmq rabbitmqctl delete_user guest

Ausgabe:

Benutzer „guest“ wird gelöscht ...

Nginx installieren und aktivieren

Konsole
$ sudo pkg install -y nginx
Konsole
$ sudo sysrc nginx_enable=yes

Verzeichnis für virtuelle Hosts erstellen

Konsole
$ sudo mkdir /usr/local/etc/nginx/conf.d

Virtuellen Host konfigurieren

Konsole
$ sudo vi /usr/local/etc/nginx/conf.d/app.example.com.conf

Füge folgenden Inhalt ein und ersetze app.example.com mit deiner Domain:

Code
server {
    listen 80;
    listen [::]:80;

    server_name app.example.com;

    location / {
        proxy_pass http://localhost:15672;
        proxy_set_header Host              $host;
        proxy_set_header Upgrade           $http_upgrade;
        proxy_set_header Connection        "upgrade";
        proxy_set_header X-Real-IP         $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Host  $host;
        proxy_set_header X-Forwarded-Port  $server_port;
    }
}

Diese Konfiguration erstellt einen virtuellen Host, der auf Port 80 lauscht und Anfragen an die RabbitMQ-Weboberfläche weiterleitet.

Hauptkonfiguration von Nginx anpassen

Konsole
$ sudo vi /usr/local/etc/nginx/nginx.conf

Füge vor der schließenden geschweiften Klammer } folgende Zeile ein:

Code
include conf.d/*;

Diese Anweisung sorgt dafür, dass Nginx zusätzliche Konfigurationen aus dem conf.d-Verzeichnis lädt.

Nginx-Konfiguration prüfen und anwenden

Konsole
$ sudo nginx -t

Ausgabe:

nginx: die Konfigurationsdatei /usr/local/etc/nginx/nginx.conf ist syntaktisch korrekt

nginx: Konfigurationstest erfolgreich

Konsole
$ sudo service nginx restart

Ausgabe:

Sanity-Check der nginx-Konfiguration wird durchgeführt:

nginx: die Konfigurationsdatei /usr/local/etc/nginx/nginx.conf ist syntaktisch korrekt

nginx: Konfigurationstest erfolgreich

nginx wird gestartet.

Certbot für SSL-Verschlüsselung installieren

Konsole
$ sudo pkg install -y security/py-certbot security/py-certbot-nginx

SSL-Zertifikat mit Certbot generieren

Ersetze app.example.com und hello@example.com durch deine echte Domain und E-Mail-Adresse:

Konsole
$ sudo certbot --nginx -d app.example.com -m hello@example.com --agree-tos

Wöchentliche Zertifikatserneuerung aktivieren

Konsole
$ echo weekly_certbot_enable="YES" | sudo tee -a /etc/periodic.conf

IPFW-Firewall unter FreeBSD einrichten

Firewall beim Systemstart aktivieren

Konsole
$ sudo sysrc firewall_enable="YES"

Ausgabe:

firewall_enable: NO -> YES

Ausgaben beim Laden unterdrücken

Konsole
$ sudo sysrc firewall_quiet="YES"

Ausgabe:

firewall_quiet: NO -> YES

Firewall-Typ auf Workstation setzen

Konsole
$ sudo sysrc firewall_type="workstation"

Ausgabe:

firewall_type: UNKNOWN -> workstation

Zugriff auf Standarddienste erlauben

Konsole
$ sudo sysrc firewall_myservices="ssh/tcp http/tcp https/tcp"

Ausgabe:

firewall_myservices: -> ssh/tcp http/tcp https/tcp

Zugriff von allen IPs erlauben

Konsole
$ sudo sysrc firewall_allowservices="any"

Firewall-Dienst starten

Konsole
$ sudo service ipfw start

Zugriff auf die RabbitMQ-Weboberfläche

Um Queues und Knoten auf deinem RabbitMQ-Server zu verwalten, befolge die folgenden Schritte zum Öffnen der webbasierten Administrationsoberfläche.

Öffne in einem Browser wie Chrome deine RabbitMQ-Domain (z. B. rabbitmq.example.com):

https://your-domain.com

Sobald die Seite geladen ist, stelle sicher, dass das RabbitMQ-Loginfenster angezeigt wird. Gib dort die zuvor eingerichteten Administrator-Zugangsdaten ein, um dich anzumelden.

Nach erfolgreicher Anmeldung kannst du über die RabbitMQ-Oberfläche Aufgaben rund um Queue-Management und Knotensteuerung durchführen.

Fazit

Du hast RabbitMQ erfolgreich auf FreeBSD 14.0 eingerichtet und die Benutzeranmeldung sicher konfiguriert. Als leistungsstarker Nachrichtenbroker lässt sich RabbitMQ flexibel in Anwendungslandschaften integrieren, um Queue-basierte Arbeitslasten effizient zu verarbeiten. Weitere Informationen und Konfigurationsmöglichkeiten findest du in der offiziellen RabbitMQ-Dokumentation.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Security
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren