Mosquitto: Mosquittoを他のサーバーに接続するための設定(ブリッジ)
このドキュメントはブリッジガイドの一部です。完全なガイドはこちらからご覧いただけます:Mosquittoサーバーを接続する方法(ブリッジ)。
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供する、すぐに使えるMosquitto MQTTクラウドソリューションを提供しています。
- 無制限のメッセージ交換と転送。
- 外部APIを介したデバイスの無制限認証。
- トピック、ユーザー、アクションに対する高度なACL。
- HTTPSで保護されたカスタマイズ可能なドメイン名(例:https://mqtt.your-company.com)。
- ワンクリックで簡単に更新。
- プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ。
時間を節約し、生活を簡素化:StackheroのMosquitto MQTTクラウドホスティングソリューションを試すのに5分しかかかりません!
この例では、リモートサーバーが専用ユーザーとTLS暗号化を使用してStackheroインスタンスに接続します。
まず、Stackhero MQTTインスタンスに新しいユーザーを作成します。これをbridge-1と呼び、パスワードをsecretPasswordとします。
次に、リモートMosquittoサーバーで、mosquitto.conf設定ファイル(通常は/etc/mosquitto/mosquitto.confにあります)を編集し、次の行を末尾に追加します。
# TODO: "<XXXXXX>.stackhero-network.com"と"<PORT_TLS>"をStackheroインスタンス情報に置き換えてください
connection <XXXXXX>.stackhero-network.com
address <XXXXXX>.stackhero-network.com:<PORT_TLS>
# TODO: "bridge-1"と"secretPassword"を新しく作成したユーザーの資格情報に置き換えてください
remote_clientid bridge-1
remote_username bridge-1
remote_password secretPassword
start_type automatic
try_private true
# 共有するトピック、方向、QOS。
"both"は不明な理由で機能しないようです。
topic # out 2
topic # in 2
# リモートMosquittoサーバーとStackheroインスタンス間のデータを暗号化するためにTLS接続を有効にします。
bridge_insecure false
bridge_capath /etc/ssl/certs
新しい設定でMosquittoを再起動する前に、リモートサーバーにTLS証明書が存在することを確認してください。
/etc/ssl/certsディレクトリが存在し、ファイルが含まれているかを次のコマンドで確認します。
ls /etc/ssl/certs
存在し、ファイルが含まれている場合は、Mosquittoサーバーを再起動するだけです。
存在しない場合は、次のコマンドのいずれかを実行することを検討してください。
-
Ubuntu/Debianでは、次を実行できます。
sudo apt-get install ca-certificates -
Alpine Linuxでは、次を実行できます。
apk add ca-certificates
または、手動で証明書をダウンロードすることもできます。これを行うには、次のコマンドを使用してCA証明書を/etc/mosquitto/isrgrootx1.pemにダウンロードします。
wget https://letsencrypt.org/certs/isrgrootx1.pem -O /etc/mosquitto/isrgrootx1.pem
次に、mosquitto.confファイルを編集してbridge_capath /etc/ssl/certsをbridge_cafile /etc/mosquitto/isrgrootx1.pemに置き換えます。
最後に、Mosquittoサーバーを再起動します。
ブリッジ設定の詳細については、公式Mosquittoドキュメントを参照してください。