特別提示:本人博客部分有參考網絡其他博客,但均是本人親手編寫過並驗證通過。如發現博客有錯誤,請及時提出以免誤導其他人,謝謝!歡迎轉載,但記得標明文章出處:
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證書,證書需要寫入指定的域名,不然會有問題。