- 首先需要已经搭建好的mqtt服务端
- nginx做tcp端口转发
- Windows、Linux系统都需要具备公网ip地址
- 设置防火墙端口开放
nginx配置
stream {
log_format proxy '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time "$upstream_addr" '
'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
open_log_file_cache off;
upstream mqtt_tcp_server {
server 127.0.0.1:1883; #高可用均衡配置
}
server {
listen 1883; #监听端口 也可以使用1883
#listen 80; #则使用mqtt://dxxxd.sxxxxt.com:80
proxy_connect_timeout 150s;
proxy_timeout 150s;
proxy_pass mqtt_tcp_server; #反向代理地址
proxy_buffer_size 3M;
tcp_nodelay on;
}
- 需要升级nginx1.9版本之后才可支持stream模块
- 直接将这一段配置追加在nginx.conf最后即可,它不属于http模块,是独立存在的
查询公网IP
设置防火墙端口
mqttx工具测试连接