Mosquitto: Mosquitto konfigūravimas prisijungti prie kito serverio (tiltas)

Ši dokumentacija yra Tiltai vadovo dalis. Visą vadovą rasite čia: Kaip sujungti Mosquitto serverius (tiltas).

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero suteikia visiškai valdomą Mosquitto MQTT cloud aplinką, sukurtą patikimumui ir lankstumui:

  • Neribotas žinučių pralaidumas ir duomenų perdavimas – jūsų darbo procesai niekada nesusidurs su dirbtiniais apribojimais.
  • Neribotas įrenginių autentifikavimas per jūsų išorinį API, todėl įrenginių prijungimas ir prieigos valdymas tampa paprastas.
  • Išplėstinės ACL (prieigos kontrolės sąrašai) – detaliam temų, naudotojų ir veiksmų valdymui.
  • Individualus domeno vardas su integruotu HTTPS – saugiems ir firminiams galiniams taškams (pvz.: https://mqtt.jusu-imone.com).
  • Atnaujinimai be rūpesčių: patobulinimus ar saugumo pataisas galite pritaikyti vienu paspaudimu.
  • Nuoseklus veikimas ir stipri apsauga – kiekviena instancija veikia privačioje, dedikuotoje infrastruktūroje.

Pagreitinkite savo IoT projektus ir sumažinkite operacinę naštą. Vos per kelias minutes galite paleisti saugią, gamybai paruoštą Mosquitto MQTT cloud hosting instanciją.

Šiame pavyzdyje nuotolinis serveris prisijungs prie Stackhero instancijos naudodamas specialų vartotoją su TLS šifravimu, siekiant maksimalaus saugumo.

Pirmiausia sukurkite naują vartotoją Stackhero MQTT instancijoje. Pavadinkime jį bridge-1, su slaptažodžiu secretPassword.

Tada, nuotoliniame Mosquitto serveryje, galite redaguoti mosquitto.conf konfigūracijos failą (dažniausiai esantį /etc/mosquitto/mosquitto.conf) pridėdami šias eilutes pabaigoje:

# TODO: pakeiskite "<XXXXXX>.stackhero-network.com" ir "<PORT_TLS>" savo Stackhero instancijos informacija
connection <XXXXXX>.stackhero-network.com
address <XXXXXX>.stackhero-network.com:<PORT_TLS>

# TODO: pakeiskite "bridge-1" ir "secretPassword" naujai sukurto vartotojo prisijungimo duomenimis
remote_clientid bridge-1
remote_username bridge-1
remote_password secretPassword

start_type automatic
try_private true

# Temos, kurias reikia bendrinti, kryptis ir QOS.
# Atkreipkite dėmesį, kad „both“ dėl nežinomos priežasties neveikia.
topic # out 2
topic # in 2

# Įgalinkite TLS ryšį, kad užšifruotumėte duomenis tarp savo nuotolinio Mosquitto serverio ir Stackhero instancijos.
bridge_insecure false
bridge_capath /etc/ssl/certs

Prieš perkraunant Mosquitto su nauja konfigūracija, įsitikinkite, kad jūsų nuotoliniame serveryje yra TLS sertifikatai.

Patikrinkite, ar egzistuoja /etc/ssl/certs katalogas ir ar jame yra failų, naudodami komandą:

ls /etc/ssl/certs

Jei jis egzistuoja ir jame yra failų, galite tiesiog perkrauti savo Mosquitto serverį.

Jei jo nėra, galite apsvarstyti galimybę vykdyti vieną iš šių komandų:

  • Ubuntu/Debian galite vykdyti:

    sudo apt-get install ca-certificates
    
  • Alpine Linux galite vykdyti:

    apk add ca-certificates
    

Arba galite rankiniu būdu atsisiųsti sertifikatą. Norėdami tai padaryti, atsisiųskite CA sertifikatą į /etc/mosquitto/isrgrootx1.pem naudodami šią komandą:

wget https://letsencrypt.org/certs/isrgrootx1.pem -O /etc/mosquitto/isrgrootx1.pem

Tada redaguokite mosquitto.conf failą, kad pakeistumėte bridge_capath /etc/ssl/certs į bridge_cafile /etc/mosquitto/isrgrootx1.pem.

Galiausiai, perkraukite savo Mosquitto serverį.

Daugiau informacijos apie tilto konfigūraciją galite rasti oficialioje Mosquitto dokumentacijoje.