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.