健全狀態檢查用於探測您的後端伺服器是否處於正常工作狀態,當健全狀態檢查出現異常時,通常說明您的後端伺服器出現了異常,但也有可能是您的健全狀態檢查配置不正確導致,本文主要介紹對七層監聽(HTTP/HTTPS)健全狀態檢查異常進行排查的詳細步驟。
操作步驟
- 確保後端伺服器上沒有針對100.64.0.0/10位址區段進行任何形式的屏蔽,包括iptables或其他任何第三方防火牆/安全性原則軟體。
Server Load Balancer通過100.64.0.0/10內部保留位址區段中的IP地址與後端伺服器通訊,如被屏蔽則會導致健全狀態檢查異常,負載平衡無法正常工作。
- 從後端伺服器本地發起訪問,確保後端伺服器上的HTTP服務正常工作。
- 登入負載平衡控制台,在監聽執行個體詳情頁中,查看健全狀態檢查配置。
本次樣本使用HTTP監聽,出現健全狀態檢查異常的後端伺服器內網IP為10.0.0.2,其他健全狀態檢查配置資訊如下:
- 健全狀態檢查連接埠:80
- 健全狀態檢查網域名稱:
www.slb-test.com
- 健全狀態檢查路徑:
/test.html
- 以Linux系統為例,執行nc或curl命令對後端伺服器上的HTTP服務進行探測,健全狀態檢查路徑、健全狀態檢查連接埠和健全狀態檢查網域名稱配置必須與後端伺服器上配置保持一致,否則會產生健全狀態檢查異常。
此處使用nc命令為例,請根據實際情況配置健全狀態檢查路徑、健全狀態檢查網域名稱、健全狀態檢查內網地址和健全狀態檢查連接埠:
echo -e "HEAD /test.html HTTP/1.0\r\nHost: www.slb-test.com\r\n\r\n" | nc -t 172.17.58.131 80
- 正常情況下,返回
200
或其他2xx/3xx
返回碼,如下圖所示。 - 異常樣本:假設負載平衡上的監聽配置保持不變,但是刪除後端伺服器上/test.html頁面,執行nc命令後,得到404錯誤碼,該錯誤碼與Server Load Balancer監聽中設定的2xx或者3xx狀態代碼不符,此時會出現健全狀態檢查異常結果,如下圖所示。
- 正常情況下,返回
- 登入負載平衡控制台,在監聽執行個體詳情頁中,查看健全狀態檢查配置。