Mosquitto: Mosquitto konfigurieren, um sich mit einem anderen Server zu verbinden (Bridge)
Diese Dokumentation ist Teil des Bridges-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man Mosquitto-Server miteinander verbindet (Bridge).
👋 Willkommen in der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Mosquitto MQTT Cloud Lösung, die zahlreiche Vorteile bietet, darunter:
- Unbegrenzter Nachrichtenaustausch und -transfer.
- Unbegrenzte Geräteauthentifizierung über eine externe API.
- Erweiterte ACLs für Themen, Benutzer und Aktionen.
- Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://mqtt.ihre-firma.com).
- Mühelose Updates mit nur einem Klick.
- Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Mosquitto MQTT Cloud Hosting Lösung von Stackhero auszuprobieren!
In diesem Beispiel wird sich ein entfernter Server mit einer Stackhero-Instanz verbinden, indem ein dedizierter Benutzer mit TLS-Verschlüsselung für maximale Sicherheit verwendet wird.
Erstellen Sie zuerst einen neuen Benutzer auf der Stackhero MQTT-Instanz. Nennen wir ihn bridge-1 mit dem Passwort secretPassword.
Bearbeiten Sie als Nächstes auf dem entfernten Mosquitto-Server die Konfigurationsdatei mosquitto.conf (normalerweise unter /etc/mosquitto/mosquitto.conf zu finden), indem Sie die folgenden Zeilen am Ende hinzufügen:
# TODO: Ersetzen Sie "<XXXXXX>.stackhero-network.com" und "<PORT_TLS>" durch die Informationen Ihrer Stackhero-Instanz
connection <XXXXXX>.stackhero-network.com
address <XXXXXX>.stackhero-network.com:<PORT_TLS>
# TODO: Ersetzen Sie "bridge-1" und "secretPassword" durch die Anmeldedaten des neu erstellten Benutzers
remote_clientid bridge-1
remote_username bridge-1
remote_password secretPassword
start_type automatic
try_private true
# Themen zum Teilen, Richtung und QOS.
# Beachten Sie, dass "both" aus unbekannten Gründen nicht zu funktionieren scheint.
topic # out 2
topic # in 2
# Aktivieren Sie die TLS-Verbindung, um Daten zwischen Ihrem entfernten Mosquitto-Server und Ihrer Stackhero-Instanz zu verschlüsseln.
bridge_insecure false
bridge_capath /etc/ssl/certs
Bevor Sie Mosquitto mit seiner neuen Konfiguration neu starten, stellen Sie sicher, dass TLS-Zertifikate auf Ihrem entfernten Server vorhanden sind.
Überprüfen Sie, ob das Verzeichnis /etc/ssl/certs existiert und Dateien enthält, mit dem Befehl:
ls /etc/ssl/certs
Wenn es existiert und Dateien enthält, können Sie einfach Ihren Mosquitto-Server neu starten.
Wenn es nicht existiert, sollten Sie in Betracht ziehen, einen dieser Befehle auszuführen:
-
Auf Ubuntu/Debian können Sie ausführen:
sudo apt-get install ca-certificates -
Auf Alpine Linux können Sie ausführen:
apk add ca-certificates
Alternativ können Sie das Zertifikat manuell herunterladen. Laden Sie dazu das CA-Zertifikat nach /etc/mosquitto/isrgrootx1.pem mit dem folgenden Befehl herunter:
wget https://letsencrypt.org/certs/isrgrootx1.pem -O /etc/mosquitto/isrgrootx1.pem
Bearbeiten Sie dann die mosquitto.conf-Datei, um bridge_capath /etc/ssl/certs durch bridge_cafile /etc/mosquitto/isrgrootx1.pem zu ersetzen.
Starten Sie schließlich Ihren Mosquitto-Server neu.
Für weitere Informationen zur Bridge-Konfiguration können Sie die offizielle Mosquitto-Dokumentation konsultieren.