用于允许、计数和的自定义请求标头插入CAPTCHA行动 - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

用于允许、计数和的自定义请求标头插入CAPTCHA行动

你可以指示Amazon WAF在原始 HTTP 请求允许请求通过时将自定义标头插入到原始 HTTP 请求中。您只能添加到请求中。您不能修改或替换原始请求的任何部分。

此选项适用于设置为允许、计数或CAPTCHA以及设置为允许的 Web ACL 默认操作。有关规则操作的更多信息,请参阅 Amazon WAF 规则操作。有关默认 Web ACL 操作的更多信息,请参阅决定 Web ACL 的默认操作.

自定义标头插入的用例包括向下游应用程序发送信号,要求其根据插入的标头以不同的方式处理请求,以及标记请求以供分析。

自定义请求标头名称

Amazon WAF为它插入的所有请求标头加上前缀x-amzn-waf-,以避免与请求中已有的标头混淆。例如,如果您指定标头名称sample,Amazon WAF插入标题x-amzn-waf-sample.

同名的标题

如果请求已经有同名的标头Amazon WAF正在插入,Amazon WAF覆盖标题。因此,如果您在多个具有相同名称的规则中定义标头,则检查请求并找到匹配项的最后一条规则将添加其标头,而之前的任何规则都不会。

使用计数或的自定义标题CAPTCHA行动

countCAPTCHA规则操作不会停止Amazon WAF从处理 Web 请求。如果您使用使用这些操作的规则插入自定义标题,则后续规则也可能会插入自定义标题。有关规则操作行为的信息,请参见Amazon WAF 规则操作.

例如,假设您具有以下规则,按所示顺序排列优先级:

  1. RuleA 具有计数操作和名为的自定义标题RuleAHeader.

  2. 带有允许操作和名为的自定义标头的规则 BRuleBHeader.

如果请求同时匹配规则 A 和规则 B,Amazon WAF插入标题x-amzn-waf-RuleAHeaderx-amzn-waf-RuleBHeader,然后将请求转发到受保护的资源。

Amazon WAF在 Web 请求检查完后,将自定义标头插入到 Web 请求中。因此,如果您将自定义请求处理与将操作设置为 count 的规则一起使用,则后续规则不会检查您添加的自定义标头。

自定义请求处理示例

您可以为规则的操作或 Web ACL 的默认操作定义自定义请求处理。以下列表显示了添加到 Web ACL 默认操作中的用于自定义处理的 JSON。

{ "Name": "SampleWebACL", "Scope": "REGIONAL", "DefaultAction": { "Allow": { "CustomRequestHandling": { "InsertHeaders": [ { "Name": "fruit", "Value": "watermelon" }, { "Name": "pie", "Value": "apple" } ] } } }, "Description": "Sample web ACL with custom request handling configured for default action.", "Rules": [], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SampleWebACL" } }