使用 httpclient 工具通過代理服務器請求第三方http 接口,多次返回 502 Bad Getway,少數返回正常。
502 Bad Getway是什么意思?
502 Bad Gateway是指錯誤網關,無效網關;在互聯網中表示一種網絡錯誤。表現在WEB瀏覽器中給出的頁面反饋。含義:這通常並不意味着上游服務器已關閉(無響應網關/代理) ,而是上游服務器和網關/代理使用不一致的協議交換數據。鑒於互聯網協議是相當清楚的,它往往意味着一個或兩個機器已不正確或不完全編程。
這到底是什么錯?啥意思?無從下手。
想着是不是還是協議不一致導致的?
於是我又把協議這方面的 http 對 https ,這樣互相排列組合的改了幾次還是不行。
然后我就在網上搜這個問題咋解決,無意中在一個國外的網站上看到有人問這個問題咋解決。
其中一個回復說【您可能正在使用代理來獲取ssl內容,但您的代理設置是錯誤的。您應該考慮使用http作為代理方案,然后使用https作為實際內容的方案。這解決了我的問題】
說的好准,確實使用了代理。
我是在使用代理時設置的代理為HTTPS,后來我改成 HTTP 。又遇到另一個問題,證書的問題,參考httpclient信任所有證書解決SSLException:Unrecognized SSL message,plaintext connection
繼續改,最后終於好了。
另外有其他原因導致502以及其他常見錯誤可以參考:錯誤代碼502、504、 400