Nginx支持websocket的配置詳解
一、對wss與nginx代理wss的理解:
1、wss協(xié)議實(shí)際是websocket+SSL,就是在websocket協(xié)議上加入SSL層,類似https(http+SSL)。
2、利用nginx代理wss【通訊原理及流程】
- 客戶端發(fā)起wss連接連到nginx
- nginx將wss協(xié)議的數(shù)據(jù)轉(zhuǎn)換成ws協(xié)議數(shù)據(jù)并轉(zhuǎn)發(fā)到Workerman的websocket協(xié)議端口
- Workerman收到數(shù)據(jù)后做業(yè)務(wù)邏輯處理
- Workerman給客戶端發(fā)送消息時,則是相反的過程,數(shù)據(jù)經(jīng)過nginx/轉(zhuǎn)換成wss協(xié)議然后發(fā)給客戶端
二、Nginx 支持websocket的配置
server { listen 80; server_name 域名; location / { proxy_pass http://127.0.0.1:8080/; // 代理轉(zhuǎn)發(fā)地址 proxy_http_version 1.1; proxy_read_timeout 3600s; // 超時設(shè)置 // 啟用支持websocket連接 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /upload { // 靜態(tài)資源地址 root /mnt/resources; } }
重要的是這兩行,它表明是websocket連接進(jìn)入的時候,進(jìn)行一個連接升級將http連接變成websocket的連接。
proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";
proxy_read_timeout; 表明連接成功以后等待服務(wù)器響應(yīng)的時候,如果不配置默認(rèn)為60s;
proxy_http_version 1.1; 表明使用http版本為1.1
到此這篇關(guān)于Nginx支持websocket的配置的文章就介紹到這了,更多相關(guān)Nginx websocket配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux 系統(tǒng) nginx 服務(wù)器安裝及負(fù)載均衡配置詳解
nginx(engine x) 是一個 高性能 的 HTTP 和 反向代理 服務(wù)器、郵件代理服務(wù)器以及通用的 TCP/UDP 代理服務(wù)器。這篇文章主要介紹了Linux 系統(tǒng) nginx 服務(wù)器安裝及負(fù)載均衡配置詳解,需要的朋友可以參考下2019-07-07解讀nginx反向代理location和proxy_pass的映射關(guān)系
這篇文章主要介紹了解讀nginx反向代理location和proxy_pass的映射關(guān)系,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01配置nginx保證frps服務(wù)器與web共用80端口的方法
這篇文章主要介紹了frps服務(wù)端與nginx可共用80端口的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06使用Kubernetes部署Springboot或Nginx的詳細(xì)教程
這篇文章主要介紹了用Kubernetes部署Springboot或Nginx的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07使用Nginx搭建流媒體服務(wù)器實(shí)現(xiàn)直播功能
這篇文章主要介紹了使用Nginx搭建流媒體服務(wù)器實(shí)現(xiàn)直播功能,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07