nginx代理mqtt的websocket

需求:

现有一台运行在阿里云上,系统为centos7上的mqtt服务器,wss连接端口是http://127.0.0.1:8083端口

网页端通过mqtt.js连接mqtt服务器,部署到生产环境中时需要nginx进行反向代理

反向代理过程

nginx反向代理mqtt流程图:

mqtt客户端 nginx mqtt后台服务器 wss连接 反向代理 wss地址: http://127.0.0.1:8083 返回数据 返回数据 mqtt客户端 nginx mqtt后台服务器

nginx相应的mqtt配置文件

server {
    server_name mqtt.xxxxxxx.cn; #填写绑定证书的域名, 这里我的域名为mqtt.xxxxxxx.cn

    listen 443 ssl;
    ssl_certificate /var/https/xxxxx.pem;  //证书中后缀为.pem文件位置
    ssl_certificate_key /var/https/xxxxx.key; //证书中后缀为.key文件位置
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
    ssl_prefer_server_ciphers on;
	
	// 将代理请求wss://mqtt.xxxxxxx.cn/mqtt反向代理到本地:http://127.0.0.1:8083接口上
    location /mqtt {
        proxy_pass http://127.0.0.1:8083;
        proxy_redirect off;
        proxy_set_header Host 127.0.0.1:8083;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        }
}

你可能感兴趣的:(mqtt)