Nginx支持websocket的配置詳解
一、對wss與nginx代理wss的理解:
1、wss協(xié)議實際是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連接進入的時候,進行一個連接升級將http連接變成websocket的連接。
proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";
proxy_read_timeout; 表明連接成功以后等待服務(wù)器響應(yīng)的時候,如果不配置默認為60s;
proxy_http_version 1.1; 表明使用http版本為1.1
到此這篇關(guān)于Nginx支持websocket的配置的文章就介紹到這了,更多相關(guān)Nginx websocket配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx配置系統(tǒng)服務(wù)&設(shè)置環(huán)境變量方式
本文介紹了如何將Nginx配置為系統(tǒng)服務(wù)并設(shè)置環(huán)境變量,以便更方便地對Nginx進行操作,通過配置系統(tǒng)服務(wù),可以使用系統(tǒng)命令來啟動、停止或重新加載Nginx,并通過設(shè)置環(huán)境變量可以簡化執(zhí)行其他命令的操作步驟2025-03-03
ubuntu16.04下徹底卸載nginx的相關(guān)命令
nginx是一款自由的、開源的、高性能的HTTP服務(wù)器和反向代理服務(wù)器;這篇文章主要介紹了ubuntu16.04下徹底卸載nginx的相關(guān)命令,需要的朋友可以參考下2018-12-12

