我找到了一些文档,并成功地使用 nginx 为 MQTT 实现了负载平衡。
stream {
upstream broker {
server 10.1.0.3:1883 fail_timeout=1s max_fails=1;
server 10.1.0.5:1883 fail_timeout=1s max_fails=1;
}
server {
# access_log /var/log/nginx/access.log;
# error_log /var/log/nginx/error.log;
listen 1883;
listen 8883;
proxy_pass broker ;
proxy_connect_timeout 1s;
}
}
现在,我正在尝试使 mqtts 工作。我有一个域,具有功能性 SSL,并且该站点正确处理 Web 的负载平衡。
正如您所看到的 mqtt 的设置,这些设置很好用。现在,我应该添加证书。
我首先添加了这些行(在网络设置中)
ssl_certificate /etc/nginx/ssl/domain/server.crt;
ssl_certificate_key /etc/nginx/ssl/domain/server.key;
ssl_protocols TLSv1.2;
但可悲的是,这就是我对服务器端知识的了解程度。
我是否需要:将证书信息复制到本地网络上的机器并告诉负载均衡器转发到这些机器上的 mqtts?
我确实注意到网络监听器中的“位置”区域有很多 proxy_header 命令,也许这里需要一些?
同样,我在这里几乎没有经验,所以我有点在黑暗中刺伤。