背景:
由于業務伺服器在背景,沒有公網來對外提供webSocket服務,是以就需要nginx 來實作反向代理。
解決方案:
upstream websocket {
#ip_hash;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
}
server {
listen 80;
server_name www.xxx.com;
location / {
#反向代理
proxy_pass http://websocket;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr:$remote_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; # 更新協定頭
proxy_set_header Connection upgrade;
proxy_read_timeout 6000s; #逾時時間 10分鐘
}
}