背景
最近在開發前後端分離的項目時,某個功能使用了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;
}