用於非阻塞操作的自定義請求標題插入 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

用於非阻塞操作的自定義請求標題插入

您可以指示AWS WAF在規則動作未封鎖要求時,將自訂標頭插入原始 HTTP 要求。使用此選項,您只會新增至要求。您無法修改或取代原始要求的任何部分。自訂標頭插入的使用案例包括向下游應用程式發出信號,以根據插入的標頭以不同的方式處理要求,以及標記要求以進行分析。

此選項適用於設定為的 Web ACL 預設動Allow作的規則動作CAPTCHA、Challenge和Allow。Count如需規則動作的詳細資訊,請參閱 規則動作。如需有關預設 Web ACL 動作的更多資訊,請參閱網頁 ACL 預設動作

自訂要求標頭名稱

AWS WAF前綴它插入的所有請求標頭x-amzn-waf-,以避免與請求中已經存在的標頭混淆。例如,如果您指定標頭名稱sample,則會AWS WAF插入標頭x-amzn-waf-sample

具有相同名稱的標題

如果要求已具有與插入相同名稱的標頭,AWS WAF則AWS WAF會覆寫標頭。因此,如果您在具有相同名稱的多個規則中定義標題,則檢查請求並找到匹配項的最後一條規則將添加其標題,並且以前的任何規則都不會添加。

具有非終止規則動作的自訂標頭

與Allow動作不同,Count動作不會停AWS WAF止使用 Web ACL 中其餘規則處理 Web 要求。同樣,當CAPTCHA並Challenge確定請求令牌有效時,這些操作不會停AWS WAF止處理 Web 請求。因此,如果您使用具有上述其中一個動作的規則插入自訂標題,後續規則也可能會插入自訂標題。如需規則動作行為的詳細資訊,請參閱規則動作

例如,假設您有下列規則,並依照顯示的順序排列優先順序:

  1. RULE 具有Count動作和名為RuleAHeader的自訂標頭。

  2. 具有Allow動作和名為的自訂標頭的 RuleB。RuleBHeader

如果要求同時符合 ruLeA 和 RuleB,請AWS WAF插入標頭x-amzn-waf-RuleAHeaderx-amzn-waf-RuleBHeader,然後將要求轉寄至受保護的資源。

AWS WAF完成檢查請求後,將自定義標題插入 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" } }