AWS 负载均衡器返回 403 响应?

AWS*_*der 7 amazon-web-services amazon-elb web-application-firewall

当调用到达特定 URL 时,AWS 负载均衡器返回 403 响应。清除浏览器缓存后,它将开始工作。它偶尔会发生。是什么原因?WAF 日志中未记录此类响应。这是因为应用程序负载均衡器吗?最近有人在 AWS 中遇到过此类问题吗?

小智 10

如果您将 AWS WAF 与 ALB 一起使用,则 WAF 可能会阻止该请求。以下文档可能会有所帮助。

[1] 对应用程序负载均衡器进行故障排除 - HTTP 403:禁止 - https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-troubleshooting.html#http-403-issues

如果您启用了访问日志,请检查访问日志中的“采取的操作”字段。如果其值为“waf”,则表示负载均衡器将请求转发到AWS WAF,以确定是否应将请求转发到目标。如果这是最终操作,AWS WAF 确定应拒绝该请求。检查以下文档以供参考。

[2] 应用程序负载均衡器的访问日志 - 采取的操作 - https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html#actions-taken

另一方面,目标也可能发送 HTTP 403,并且 ALB 将其转发回客户端。检查访问日志中“target_status_code”字段是否为403。您还将看到“elb_status_code”相同,因为 ALB 会将相同的代码发送到客户端。

在这种情况下,“action”字段的值将为“forward”。

ALB 访问日志格式/语法的 PFB 文档。

[3] 应用程序负载均衡器的访问日志 - 语法 - https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html#access-log-entry-syntax

我希望这有帮助!