nginx支持websocket及websocket部分原理介紹

nginx支持websocket及websocket部分原理介紹
最近ipc經過websocket與server進行通行,通過沒法經過nginx進行反向代理,只有直連nodejs端口。並且部署到阿里雲用了slb以後一樣存在該問題。由於部署爲了規避風險不宜暴露nodejs端口,因此嘗試解決這個問題。html

1.本地nginx 支持websocket
在實際的生產環境中,要求多個WebSocket服務器必須具備高性能和高可用,那麼WebSocket協議就須要一個負載均衡層,NGINX從1.3開始支持WebSocket,其能夠做爲一個反向代理和爲WebSocket程序作負載均衡。node

配置nginx 即支持websocket的反向代理。使用這兩句開啓nginx對websocket的支持功能:nginx

proxy_set_header Upgrade $http_upgrade; 
proxy_set_header Connection "upgrade";

sample:web

server {
    listen 80;

    location / {
                    proxy_pass http://localhost:6000;
                    proxy_http_version 1.1;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection "upgrade";
            }

}

PS:在學習過程瞭解到有種狀況websocket連上nginx會斷開的問題可能與 nginx這個參數配置有關proxy_read_timeout

服務器

相關文章
相關標籤/搜索