为什么 AWS WAF 会阻止我的请求,或响应“403 Forbidden(403 禁止访问)”错误?

上次更新日期:2022 年 7 月 20 日

如何识别正在阻止我的请求或响应“403 Forbidden(403 禁止访问)”错误的 AWS WAF 规则?

简短描述

如果请求与设置为 Block(阻止)的 AWS WAF 规则匹配,则默认情况下,AWS WAF 会返回“403 Forbidden(403 禁止访问)”错误。如果您为阻止操作设置了自定义响应,则 AWS WAF 会返回您配置的响应。

要排查“403 Forbidden(403 禁止访问)”错误,请执行以下操作:

  1. 识别正在阻止请求的 AWS WAF 规则或规则组。
  2. 更改已识别的规则以允许您的请求。

解决方法

识别已阻止请求的 AWS WAF 规则或规则组

有两个选项可用于识别在正阻止请求的 AWS WAF 规则或规则组。

选项 1:采样请求

如果请求采样已启用,并且您的请求在过去三个小时内被阻止,则查看被阻止的请求的 Web 请求示例
注意:如果您的请求已被阻止三个小时以上,您可以重新发送相同的请求以生成新的采样请求。

使用 Sampled requests(采样请求)表识别哪个规则或规则组阻止了请求:

  1. 使用 Source IP(源 IP)和 URI 列标识请求。
  2. 使用 Metric name(指标名称)列标识与请求匹配的规则或规则组。如果请求被规则组阻止,则使用 Rule inside rule group(规则组内的规则)列来标识规则。
  3. 借助 Action(操作)列,确认识别的规则已设置为 Block(阻止)。

记录阻止请求的规则或规则组。然后,继续更改 AWS WAF 规则以允许您的请求

选项 2:AWS WAF 日志

如果 AWS WAF 日志记录已启用,您可以分析日志以找到阻止请求的规则或规则组。

  1. 查看您的 AWS WAF 日志。
  2. 在日志中识别被阻止的请求。
  3. 查看 terminatingRuleId 字段,识别阻止请求的 AWS WAF 规则或规则组。

记录阻止请求的规则或规则组。然后,继续更改 AWS WAF 规则以允许您的请求

注意:如果您在请求时没有启用 AWS WAF 日志记录,您必须先启用 AWS WAF 日志记录。然后,重现请求,在 AWS WAF 日志中识别阻止请求的规则。有关更多信息,请参阅如何启用 AWS WAF 日志记录并将日志发送到 CloudWatch、Amazon S3 或 Kinesis Data Firehose?

更改 AWS WAF 规则以允许您的请求

识别阻止请求的规则或规则组后,适当更改规则或规则组,以便允许特定请求。


这篇文章对您有帮助吗?


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