Mosquitto: Mosquitto configureren om verbinding te maken met een andere server (brug)
Deze documentatie maakt deel uit van de Bruggen-gids. Bekijk de volledige gids hier: Hoe Mosquitto-servers met elkaar te verbinden (brug).
👋 Welkom bij de Stackhero-documentatie!
Stackhero biedt u een volledig beheerde Mosquitto MQTT cloud-omgeving, ontworpen voor betrouwbaarheid en flexibiliteit:
- Onbeperkte berichtendoorvoer en datatransfers, zodat uw workflows nooit tegen kunstmatige limieten aanlopen.
- Onbeperkte apparaat-authenticatie via uw eigen externe API, waardoor onboarding en toegangsbeheer moeiteloos verlopen.
- Geavanceerde ACL's voor gedetailleerde controle over topics, gebruikers en acties.
- Een eigen domeinnaam met ingebouwde HTTPS voor veilige, herkenbare endpoints (bijvoorbeeld: https://mqtt.uw-bedrijf.com).
- Probleemloze updates: verbeteringen of beveiligingspatches toepassen met één klik.
- Consistente prestaties en sterke beveiliging, doordat elke instantie draait op een privé, dedicated infrastructuur.
Versnel uw IoT-projecten en verlaag de operationele last. U kunt binnen enkele minuten beschikken over een veilige, productieklare Mosquitto MQTT cloud hosting-instantie.
In dit voorbeeld zal een externe server verbinding maken met een Stackhero-instantie met behulp van een speciale gebruiker met TLS-versleuteling voor maximale beveiliging.
Maak eerst een nieuwe gebruiker aan op de Stackhero MQTT-instantie. Laten we deze bridge-1 noemen, met het wachtwoord secretPassword.
Vervolgens kunt u op de externe Mosquitto-server het configuratiebestand mosquitto.conf bewerken (meestal te vinden op /etc/mosquitto/mosquitto.conf) door de volgende regels aan het einde toe te voegen:
# TODO: vervang "<XXXXXX>.stackhero-network.com" en "<PORT_TLS>" door uw Stackhero-instantiegegevens
connection <XXXXXX>.stackhero-network.com
address <XXXXXX>.stackhero-network.com:<PORT_TLS>
# TODO: vervang "bridge-1" en "secretPassword" door de inloggegevens van de nieuw aangemaakte gebruiker
remote_clientid bridge-1
remote_username bridge-1
remote_password secretPassword
start_type automatic
try_private true
# Topics om te delen, richting en QOS.
# Merk op dat "both" om een onbekende reden niet lijkt te werken.
topic # out 2
topic # in 2
# Schakel TLS-verbinding in om gegevens tussen uw externe Mosquitto-server en uw Stackhero-instantie te versleutelen.
bridge_insecure false
bridge_capath /etc/ssl/certs
Voordat u Mosquitto opnieuw start met de nieuwe configuratie, moet u ervoor zorgen dat TLS-certificaten op uw externe server aanwezig zijn.
Controleer of de directory /etc/ssl/certs bestaat en bestanden bevat met het commando:
ls /etc/ssl/certs
Als het bestaat en bestanden bevat, kunt u eenvoudig uw Mosquitto-server opnieuw starten.
Als het niet bestaat, kunt u overwegen een van deze commando's uit te voeren:
-
Op Ubuntu/Debian kunt u uitvoeren:
sudo apt-get install ca-certificates -
Op Alpine Linux kunt u uitvoeren:
apk add ca-certificates
Als alternatief kunt u het certificaat handmatig downloaden. Download hiervoor het CA-certificaat naar /etc/mosquitto/isrgrootx1.pem met het volgende commando:
wget https://letsencrypt.org/certs/isrgrootx1.pem -O /etc/mosquitto/isrgrootx1.pem
Bewerk vervolgens het mosquitto.conf-bestand om bridge_capath /etc/ssl/certs te vervangen door bridge_cafile /etc/mosquitto/isrgrootx1.pem.
Start ten slotte uw Mosquitto-server opnieuw.
Voor meer informatie over bridge-configuratie kunt u de officiële Mosquitto-documentatie raadplegen.