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

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

用于允许和计数操作的自定义请求标头插入

您可以指示Amazon WAF将自定义标头插入到原始 HTTP 请求中,对于设置为允许或计数的规则操作或 Web ACL 默认操作。您只能添加到请求中。您不能修改或替换原始请求的任何部分。有关规则操作的更多信息,请参阅 Amazon WAF 规则操作。有关默认 Web ACL 操作的更多信息,请参阅。确定 Web ACL 的默认操作.

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

自定义请求标头名称

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

具有相同名称的标头

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

具有计数操作的自定义标题

计数规则操作不会停止 Web 请求的处理。如果您使用使用计数操作的规则插入自定义标头,则后续规则可能还会插入自定义标头。有关计数规则操作行为的信息,请参阅。Amazon WAF 规则操作.

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

  1. 规则 A 包含计数操作和名为RuleAHeader.

  2. 规则 B 包含允许操作和名为RuleBHeader.

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

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

自定义请求处理示例

您可以为规则的操作或 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" } }