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
服務器