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 een kant-en-klare Mosquitto MQTT cloud oplossing die tal van voordelen biedt, waaronder:
- Onbeperkte uitwisseling en overdracht van berichten.
- Onbeperkte apparaatverificatie via een externe API.
- Geavanceerde ACL's op onderwerpen, gebruikers en acties.
- Aanpasbare domeinnaam beveiligd met HTTPS (bijvoorbeeld, https://mqtt.uw-bedrijf.com).
- Moeiteloze updates met slechts één klik.
- Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.
Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Mosquitto MQTT cloud hosting oplossing van Stackhero te proberen!
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.