阿里雲負載均衡502報錯踩坑記錄


阿里雲負載均衡踩坑記錄

問題

最近在部署一個測試項目時,遇到了一個這樣的怪事,就是我后端運行的是 Tomcat,然后我在阿里雲的負載均衡上面添加了一個 HTTP 層 代理,並且是走的默認配置,最后進行訪問頁面顯示的是 502。

但是我如果我是配置一個 tcp 層的監聽后,發現訪問這樣是可以正常訪問的。這就給我很大疑惑了,是我后端 Tomcat 的問題(因為我 Tomcat 最近調優了),還是 阿里雲的負載均衡的問題呢。

問題緣由

經過排查。

問題的原因是: 阿里雲的負載均衡在 HTTP和HTTPS 默認開啟了健康檢查,如果健康檢查沒有通過的話,后端對應的服務器是接收不到請求的。但是我們這里是沒有對健康檢查進行詳細配置,所以默認健康檢查一直失敗的。請求也一直到達不了后端。但是阿里雲的負載均衡在 TCP 和UDP 默認是沒有開啟健康檢查,所以是可以進行訪問的。

問題解決辦法

  • 關閉健康檢查

    將健康檢查功能關閉。

  • 設置健康檢查路徑

    找到我們我們網站可以正常訪問的而且不會經常改變的一個路徑,然后將它配置在健康檢查路徑里。健康狀態檢查就不會出錯了。

  • 設置狀態碼

    默認的訪問路徑是 /,但是,訪問這個路徑是沒有任何數據返回的,所以會報 400 錯誤,我們可以在健康檢查的高級配置中,將正常狀態碼中的 http_4xx 勾選為 正常狀態碼。(不建議使用)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM