websocket使用nginx代理后連接頻繁打開和關閉


前幾天開發了一個功能,使用websocket向前台發送消息,與前端聯調時一切正常,但是發布到環境出現如下報錯:

發現404,無法找到連接,突然想到環境上是走nginx代理的,應該是nginx沒有配置代理,於是nginx配置如下:

location /ctm01expvideo-web/ {

        proxy_set_header   Host             $http_host;

        proxy_set_header   X-Real-IP        $remote_addr;

        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

        proxy_set_header   X-Forwarded-Proto  $scheme;

        //新添加

        proxy_set_header Upgrade "websocket";

        //新添加

        proxy_set_header Connection "upgrade";

        proxy_pass http://10.194.98.123:36099/ctm01expvideo-web/;

}

上面的配置可以使代理端口支持websocket協議,重啟nginx后404報錯消失,但是又出現如下報錯:

查閱資料后發現是配置有問題,重新修改nginx配置文件:

location /ctm01expvideo-web/ {

        proxy_set_header   Host             $http_host;

        proxy_set_header   X-Real-IP        $remote_addr;

        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;

        proxy_set_header   X-Forwarded-Proto  $scheme;

        //新添加

        proxy_set_header Upgrade "websocket";

        //新添加

        proxy_set_header Connection "upgrade";
        //新添加
        proxy_http_version 1.1;

        proxy_pass http://10.194.98.123:36099/ctm01expvideo-web/;

}

恢復正常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM