需求:
现有一台运行在阿里云上,系统为centos7上的mqtt服务器,wss连接端口是http://127.0.0.1:8083
端口
网页端通过mqtt.js连接mqtt服务器,部署到生产环境中时需要nginx进行反向代理
反向代理过程
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";
}
}