背景
最近在开发前后端分离的项目时,某个功能使用了websocket 异步推送,本地测试后项目后,发布到线上,发现websocket无法连接上,后来查资料发现线上使用nginx转发了请求,需要配置nginx支持socket 连接。
解决方法
增加nginx配置如下:
location / {
proxy_set_header host $host;
proxy_pass http://127.0.0.1:8092;
proxy_connect_timeout 6000;
proxy_send_timeout 6000;
proxy_read_timeout 6000;
# 加websocket头部识别
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
# root html;
}