簡體   English   中英

IBM Websphere - Websockets (wss) - 連接到其他配置文件中的 websocket 服務器

[英]IBM Websphere - Websockets (wss) - Connection to a websocket server in other profile

下午好,我來這里尋求支持,試圖了解我在應用程序中注意到的一種行為,但我無法解釋它發生的原因。

設置

我正在使用 Webshepere 版本 9.0.0.11,其中 spring mvc 應用程序在配置文件中的 HTTPS 上運行。 這個應用程序在session(HttpSession)中進行值的定義,這樣以后通過JSP就可以得到這個數據,在瀏覽器中顯示。 在客戶端,通過js,通過WebSocket建立連接。 WebSocket 服務器位於另一個 WebShepere 配置文件中。

意外行為

每當 websocket 連接成功時,所有 session 數據都會被刪除。 僅保留連接成功后記錄的數據。

附加數據

  • 如果 WebSocket 服務器安裝在同一配置文件中,則不再出現報告的行為,並且應用程序按預期工作。
  • 如果應用程序使用 HTTP,則該行為不存在。
  • 在 wildfly 服務器上,即使使用 HTTPS,行為也符合預期,這意味着 session 數據不會被刪除。

默認配置

  • 申請地址:https://myappurl:9444/
  • webSocket 服務器地址:wss://myappurl:9450/websocket

經測試發現,由於 websocket 連接到同域的另一個端口,因此正在執行 cookies 的覆蓋,從而消除了 Z21D6F40CFB511982E4524E0E250A9 數據。

解決方法是,在websoket服務器所在的webshere配置文件中,將session管理中的cookie名稱參數化,從默認的(JSESSIONID)改為(JSESSIONIDA)。

路徑:應用服務器 > server1 > Web 容器 > Session 管理 > Cookies

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM