Home Assistant 上的 Mosquitto:使用 CA 签名的服务器证书桥接到远程 MQTT 代理
Mosquitto on Home Assistant: Bridge to remote MQTT broker using CA signed server certificate
如何将 Mosquitto(集成到 Home Assistant 中的版本)配置为仅使用带有 Let's encrypt 证书的 "CA signed server certificate" 选项(就像 MQTT.fx 那样)作为 Bridge 连接到远程代理?
例如http://mqttfx.jensd.de/ 在连接设置中有此选项并且与代理的连接工作正常:
配置如下所示:
connection bridge-01
log_type all
require_certificate false
cleansession true
try_private true
bridge_protocol_version mqttv311
bridge_insecure false
bridge_cafile /etc/ssl/letsencrypt.crt
address mycompany.com:8883
remote_clientdid raspi_test
remote_username raspi
remote_password password
topic # out 0
正如提示:
- 将 Let's Encrypt 根证书或 Let's Encrypt Authority X3 证书 (https://letsencrypt.org/certificates/) 添加为
bridge_cafile
失败并出现 certificate validation error
或 socket error on client raspi.local...
.
- 家庭助理 运行 Raspberry Pi 4(仅出于完整性原因)
- Mqtt 代理版本为 Mosquitto 5.1(家庭助手插件)
- 连接(clientid、用户名和密码)正常,适用于 MQTT.fx
使用 bridge_capath /etc/ssl/certs/
而不是 bridge_cafile /etc/ssl/letsencrypt.crt
对我们有用。
文件夹中已经有很多预装的受信任证书和添加的证书(Let's Encrypt root certificate 或 Let's Encrypt Authority X3 certificate)。
另一个很好的 link 解释这个问题的问题(它也没有帮助我)是 bridge local mosquitto to cloud broker。
如何将 Mosquitto(集成到 Home Assistant 中的版本)配置为仅使用带有 Let's encrypt 证书的 "CA signed server certificate" 选项(就像 MQTT.fx 那样)作为 Bridge 连接到远程代理?
例如http://mqttfx.jensd.de/ 在连接设置中有此选项并且与代理的连接工作正常:
配置如下所示:
connection bridge-01
log_type all
require_certificate false
cleansession true
try_private true
bridge_protocol_version mqttv311
bridge_insecure false
bridge_cafile /etc/ssl/letsencrypt.crt
address mycompany.com:8883
remote_clientdid raspi_test
remote_username raspi
remote_password password
topic # out 0
正如提示:
- 将 Let's Encrypt 根证书或 Let's Encrypt Authority X3 证书 (https://letsencrypt.org/certificates/) 添加为
bridge_cafile
失败并出现certificate validation error
或socket error on client raspi.local...
. - 家庭助理 运行 Raspberry Pi 4(仅出于完整性原因)
- Mqtt 代理版本为 Mosquitto 5.1(家庭助手插件)
- 连接(clientid、用户名和密码)正常,适用于 MQTT.fx
使用 bridge_capath /etc/ssl/certs/
而不是 bridge_cafile /etc/ssl/letsencrypt.crt
对我们有用。
文件夹中已经有很多预装的受信任证书和添加的证书(Let's Encrypt root certificate 或 Let's Encrypt Authority X3 certificate)。
另一个很好的 link 解释这个问题的问题(它也没有帮助我)是 bridge local mosquitto to cloud broker。