如何排查 Application Load Balancer HTTP 403 禁止错误?

上次更新日期:2022 年 4 月 27 日

我的 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

如果 target_status_codeelb_status_code 值相匹配,则目标应用程序会发送 HTTP 403 响应。要确定目标应用程序生成了 HTTP 403 禁止错误的原因,请咨询您的应用程序供应商。您还可以使用 X-Amzn-Trace-Id 标头通过 Application Load Balancer 跟踪请求。有关更多信息,请参阅如何使用 X-Amzn-Trace-Id 跟踪 Application Load Balancer 请求?


这篇文章对您有帮助吗?


您是否需要账单或技术支持?