我的 Application Load Balancer 傳回 HTTP 403 禁止錯誤。如何對此進行疑難排解?
解決方案
按照您的情況執行以下疑難排解步驟。
重要提示: 在開始之前,請確定您已經為 Application Load Balancer 啟用了存取日誌記錄功能。如需指示,請參閲啟用存取日誌記錄功能。
AWS WAF Web 存取控制清單 (Web ACL) 設定用於監控對 Application Load Balancer 的請求,並封鎖了一項請求。
負載平衡器會傳送 HTTP 錯誤以存取日誌記錄,並增加與以下內容相似的 HTTPCODE_ELB_4xx_count 指標:
elb_status_code = 403
target_status_code = -
actions_executed = waf
這意味着負載平衡器轉發請求給 AWS WAF,以確定是否應將請求轉發至目標。然後,AWS WAF 判定應拒絕該請求。若要診斷規則組態,請檢閱 AWS WAF 日誌記錄。如需詳細資訊,請參閲 Web ACL 管理日誌記錄。
Application Load Balancer 可能有一個設定帶有固定回應動作的規則,以提供 HTTP 403 回應。
檢查存取日誌記錄中,是否有與以下內容相似的固定回應動作:
elb_status_code = 403
target_status_code = -
actions_executed = fixed-response
此日誌記錄表示,規則組態具有固定回應動作,以提供 HTTP 403 錯誤。
目標以 HTTP 403 錯誤做回應,Application Load Balancer 正在將此回應轉發給用戶端。
檢查存取日誌記錄中 403 個項目的值,是否與以下內容相似:
elb_status_code = 403
target_status_code = 403
如果目標狀態代碼和 elb 狀態代碼值相符,接著目標應用程式就會傳送 HTTP 403 回應。若要判定目標應用程式生成 HTTP 403 禁止錯誤的原因,請諮詢您的應用程式供應商。您還可以使用 X-Amzn-Trace-Id 標頭來透過 Application Load Balancer 追蹤請求。如需詳細資訊,請參閱如何使用 X-Amzn-Trace-Id 追蹤 Application Load Balancer?
相關資訊
對您的 Application Load Balancer 進行疑難排解
HTTP 403:禁止