
我遇到了這個奇怪的連接錯誤,我的 Java 應用程式可以在某些 PC 上運行,但不能在其他 PC 上運行。無法成功建立到某個伺服器的 HTTP 連線。 Java 出現 TimeoutException。
奇怪的是,在它不起作用的系統上,當我在本機瀏覽器(firefox 和 IE)中開啟連線時,它起作用了。我不僅從身份驗證代理獲得回應,而且從我的伺服器獲得正確的憑證。這是 HTTP 400(錯誤請求),因為瀏覽器未傳送預期的 JSON。
本機系統是windows server 2016。據我所知,本地安裝已有多年歷史。這裡沒有配置管理。
Java 應用程式以「NT-Authority/SYSTEM」服務運作。當我作為本機使用者(如瀏覽器)運行它時,它的行為是相同的。我看不出有什麼不同。
當我在 TcpView 中檢查 TCP 連線時,狀態顯示為「ESTABLISHED」。這是握手成功了嗎?
我真的真的沒有主意了。對於整個系統的每個部分,我可以說那裡不可能有錯誤,因為它適用於大多數系統。除了一些。
- 它不可能是 Java 應用程序,因為相同的程式碼幾乎適用於所有情況。
- 這不可能是伺服器配置問題,因為幾乎沒有客戶端受到影響。
- 它不可能是帶有身份驗證的東西,因為一旦我從同一本地網路中的另一個本地系統運行具有完全相同配置的 Java 應用程序,完全相同的憑證就會起作用。身份驗證配置是我的 Java 應用程式的唯一配置。
- 出於同樣的原因,它不可能是本地網路配置問題,例如代理或其他東西。
我還懷疑在同一系統上運行的其他應用程式或病毒,但它們可能會做什麼來顯示這種行為?
任何幫助表示讚賞。