首先,在 nginx.conf 的 http{ } 段添加:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
然后,在 server{ } 段添加:
location /wss/ {
proxy_pass http://127.0.0.1:9501/;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
访问 http://yourdomain.com/wss/ 时,请求会被转发给 http://127.0.0.1:9501/
如果网站是 http 访问,使用 ws://yourdomain.com/wss/ 地址连接 websocket;
如果网站是 https 访问,则使用 wss://yourdomain.com/wss/ 地址连接websocket。
配置项说明:
proxy_read_timeout:nginx接收upstream server数据超时, 默认60s, 如果连续的60s内没有收到1个字节, 连接关闭。
proxy_send_timeout:nginx发送数据至upstream server超时, 默认60s, 如果连续的60s内没有发送1个字节, 连接关闭。
快来评论一下吧!
发表评论