詳解Nginx配置WebSocket(支持wss與ws連接)
一、對wss與nginx代理wss的理解:
1、wss協(xié)議實際是websocket+SSL,就是在websocket協(xié)議上加入SSL層,類似https(http+SSL)。
2、利用nginx代理wss【通訊原理及流程】
(1)、客戶端發(fā)起wss連接連到nginx
(2)、nginx將wss協(xié)議的數(shù)據(jù)轉(zhuǎn)換成ws協(xié)議數(shù)據(jù)并轉(zhuǎn)發(fā)到Workerman的websocket協(xié)議端口
(3)、Workerman收到數(shù)據(jù)后做業(yè)務(wù)邏輯處理
(4)、Workerman給客戶端發(fā)送消息時,則是相反的過程,數(shù)據(jù)經(jīng)過nginx/轉(zhuǎn)換成wss協(xié)議然后發(fā)給客戶端
二、nginx配置ssl和wss
server
{
listen 80;
listen 443 ssl;
server_name 域名;
ssl on;
ssl_certificate 證書.crt;
ssl_certificate_key 證書.key;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2; #按照這個協(xié)議配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
location /wss/ {
proxy_pass http://127.0.0.1:7879/; #通過配置端口指向部署websocker的項目
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
}
}踩坑點:
1、location /wss/ { 錯寫成 location /wss {
2、proxy_pass http://127.0.0.1:82/ 錯寫成 proxy_pass http://127.0.0.1:82
三、通過wss和ws連接websocket
1、wss連接:
(1)、wss://域名/wss/項目訪問 如:wss://test.com/wss/insight/websocket/*
(2)、ws://域名:82/項目訪問 如:ws://test.com:82/insight/websocket/*
到此這篇關(guān)于詳解Nginx配置WebSocket(支持wss與ws連接)的文章就介紹到這了,更多相關(guān)Nginx配置WebSocket內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx結(jié)合openssl實現(xiàn)https的方法
這篇文章主要介紹了基于nginx結(jié)合openssl實現(xiàn)https的方法,準(zhǔn)備工作大家需要安裝nginx服務(wù),具體操作過程跟隨小編一起看看吧2021-07-07
Nginx訪問日志access_log配置及信息詳解(推薦)
當(dāng)你設(shè)置日志級別成debug,如果你在調(diào)試一個在線的高流量網(wǎng)站的話,你的錯誤日志可能會記錄每個請求的很多消息,這樣會變得毫無意義,下面小編給大家介紹Nginx訪問日志access_log配置及信息詳解,感興趣的朋友跟隨小編一起看看吧2024-04-04
Nginx 配置 HTTPS 與 WSS 完整指南(最新推薦)
本教程將手把手教你如何為網(wǎng)站配置 HTTPS 加密訪問,并通過反向代理實現(xiàn)安全的 WebSocket(WSS)通信,感興趣的朋友跟隨小編一起看看吧2025-05-05

