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ù)轉換成ws協(xié)議數(shù)據(jù)并轉發(fā)到Workerman的websocket協(xié)議端口
- Workerman收到數(shù)據(jù)后做業(yè)務邏輯處理
- Workerman給客戶端發(fā)送消息時,則是相反的過程,數(shù)據(jù)經(jīng)過nginx/轉換成wss協(xié)議然后發(fā)給客戶端
二、Nginx 支持websocket的配置
server {
listen 80;
server_name 域名;
location / {
proxy_pass http://127.0.0.1:8080/; // 代理轉發(fā)地址
proxy_http_version 1.1;
proxy_read_timeout 3600s; // 超時設置
// 啟用支持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; 表明連接成功以后等待服務器響應的時候,如果不配置默認為60s;
proxy_http_version 1.1; 表明使用http版本為1.1
到此這篇關于Nginx支持websocket的配置的文章就介紹到這了,更多相關Nginx websocket配置內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Nginx配置系統(tǒng)服務&設置環(huán)境變量方式
本文介紹了如何將Nginx配置為系統(tǒng)服務并設置環(huán)境變量,以便更方便地對Nginx進行操作,通過配置系統(tǒng)服務,可以使用系統(tǒng)命令來啟動、停止或重新加載Nginx,并通過設置環(huán)境變量可以簡化執(zhí)行其他命令的操作步驟2025-03-03

