首頁  >  問答  >  主體

nginx 反代 websocket 斷線

PS:官方文件說 Nginx 在 1.3 以後的版本才支援 websocket 反向代理,所以要想使用支援 websocket 的功能,必須升級到 1.3 以後的版本;

現出現一個問題每隔一段時間websocket斷線1-2分鐘,重啟服務或2分鐘後會自動恢復,
服務層架構是nginx反代tomcat;

nginx的編譯安裝略過......

websocket配置如下:

http {
     ......

     #websocket 需要加下这个
     map $http_upgrade $connection_upgrade {
         default upgrade;
         '' close;
    }

     ......
}

server {
        ......


        location  ^~  /websocket {
        proxy_pass http://www.test.com;

        proxy_redirect    off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        }

        ......
}
过去多啦不再A梦过去多啦不再A梦2712 天前756

全部回覆(1)我來回復

  • 大家讲道理

    大家讲道理2017-05-16 17:27:51

    已經找到問題了,結貼;

    nginx.conf
    proxy_read_timeout 86400;

    include http://www.test.com
    keepalive 64;

    回覆
    0
  • 取消回覆