对应的nginx配置如下:
stream {
upstream mqtt_tcp_server {
zone tcp_servers 64k;
hash $remote_addr;
server 192.168.1.20:1884 ;
server 192.168.1.21:1883 max_fails=2 fail_timeout=30s;
}
server {
listen 1883;
set_real_ip_from 192.168.1.20;
proxy_pass mqtt_tcp_server;
proxy_buffer_size 30M;
proxy_protocol on;
tcp_nodelay on;
}
}
然后也开启了: listener.tcp.external.proxy_protocol=on
然后设备、后台代码都可以连接,手机端也可以连接,但是手机端在订阅的时候,一旦发出特殊的订阅,就会失败,例如:gk30/M200700013/d2a;发现只要出现了d2a结尾的,就会失败,但是后台订阅这个主题又不会失败。