WebSocket 结合 Nginx 实现域名及 WSS 协议访问-Nginx配置
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/
1、基本配置
1 upstream mqttServer { 2 server mqttserverip1:8882 weight=1; 3 server mqttserverip1:8882 weight=1; 4 #check interval=3000 rise=2 fall=5 timeout=1000; 5 } 6 7 server { 8 listen 443 ssl; 9 server_name localhost; 10 ssl on; //如果是Linux版本nginx需要配置此项,Windows版本nginx不需要配置 11 ssl_certificate E:/project/nginx-1.13.6/certfile/pc.crt; 12 ssl_certificate_key E:/project/nginx-1.13.6/certfile/pc.key; 13 ssl_session_cache shared:SSL:1m; 14 ssl_session_timeout 5m; 15 ssl_ciphers HIGH:!aNULL:!MD5; 16 ssl_prefer_server_ciphers on; 17 location /mqtt { 18 proxy_pass http://mqttServer; 19 proxy_http_version 1.1; 20 proxy_set_header Upgrade $http_upgrade; 21 proxy_set_header Connection "upgrade"; 22 } 23 }
2、为什么需要用wss?
Websocket使用 ws
或 wss
的统一资源标志符,类似于 HTTP
或 HTTPS
,其中 wss
表示在 TLS 之上的 Websocket ,相当于 HTTPS 了。如:
ws://example.com/chat
wss://example.com/chat
默认情况下,Websocket 的 ws 协议使用 80 端口;运行在TLS之上时,wss 协议默认使用 443 端口。其实说白了,wss 就是 ws 基于 SSL 的安全传输,与 HTTPS 一样样的道理。
如果你的网站是 HTTPS 协议的,那你就不能使用 ws://
了,浏览器会 block 掉连接,和 HTTPS 下不允许 HTTP 请求一样。
3、注意事项
需要做好CA证书,证书需要写入指定的域名,不然会有问题。
4、参考网站
个性签名:1.01的365次方=37.78343433289 >>>1
0.99的365次方= 0.02551796445229 <<<1
每天进步一点点的目标,贵在坚持…