溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nginx配置websocket代理轉發(fā)以及java實現websocket的示例分析

發(fā)布時間:2021-11-15 15:41:03 來源:億速云 閱讀:553 作者:柒染 欄目:大數據

今天就跟大家聊聊有關nginx配置websocket代理轉發(fā)以及java實現websocket的示例分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

nginx配置
        location ~* /websocket {
           proxy_pass http://web-servers;
           proxy_http_version 1.1;
           proxy_set_header Upgrade $http_upgrade;
           proxy_set_header Connection "upgrade";
           proxy_read_timeout 3600s;
        }
注意要點
  • 前端需要在$proxy_read_timeout 時間內主動與后端保持心跳(ping)來維持會話,使其在用戶無操作時不斷開

  • nginx upstream 用連接符“-”,而不是下劃線,防止 tomcat8.5.x 以后的版本出現問題

Error during WebSocket handshake: Unexpected response code: 400
一些思考過程
討論要點:
1、身份:客戶端/服務端、客戶端可能是瀏覽器也可能是后端;
2、模式:點對點/廣播、給指定批量通過業(yè)務過濾的部分用戶發(fā)消息;
3、幾個概念:cookie、http session id、websocket userId、websocket session id;
4、疑難:websocket會話長時間保持(nginx代理轉發(fā) + 前端定時輪詢ping)、權限問題(是否需要登錄、http session過期是否disconnect websocket session,即websocket是否connect是否依賴于http session的是否存在)、集群環(huán)境服務端主動推送指定的客戶端(已建立的會話連接可能不在本地當前節(jié)點)

看完上述內容,你們對nginx配置websocket代理轉發(fā)以及java實現websocket的示例分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI