1. 程式人生 > >瀏覽器代理導致WebSocket無法建立

瀏覽器代理導致WebSocket無法建立

今天遇到一個問題記錄一下。

使用者反應進入相應群組後無法檢視聊天記錄。從使用者截圖看使用者已經登入系統,且可以看到未讀訊息計數、處理的工單等資訊。

1、從這裡可以看出,使用者訪問web伺服器沒有問題,請求可以被後臺處理;

因為未讀訊息計數、群組列表是通過長輪詢實現,工單處理資訊通過ajax獲取。而聊天記錄是通過WebSocket獲取的。

2、因此,可以判斷是瀏覽器無法和伺服器建立WebSocket連線問題導致的;

3、從使用者那裡拿到登入賬號,登入到系統後檢視聊天記錄也是正常的。說明是使用者瀏覽器出了問題;

4、讓使用者清空快取重新登入測試,結果失敗;

5、詢問使用者最近瀏覽器是否做過設定;

6、使用者告知,本身使用的是10網段,由於要訪問外部系統,配置了一個132網段地址的代理,因此可以推測應該是代理導致的socket建立失敗。

這裡有個疑問是,這個132地址的代理應該是訪問內網機器的代理,如果導致WebSocket建立失敗,為什麼ajax請求還可以成功。是不是http請求和WebSocket請求的區別導致,畢竟WebSocket請求雖然基於http協議但是又不同於http協議。