本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
插入非封鎖動作的自訂要求標頭
本節說明如何指示 AWS WAF 當規則動作未阻止HTTP請求時,將自定義標題插入到原始請求中。使用此選項,您只會新增至要求。您無法修改或取代原始要求的任何部分。自訂標頭插入的使用案例包括向下游應用程式發出信號,以根據插入的標頭以不同的方式處理要求,以及標記要求以進行分析。
此選項適用於規則動作 Allow, Count, CAPTCHA 和 Challenge 以及設定為的網頁ACL預設動作 Allow。 如需規則動作的詳細資訊,請參閱使用規則動作於 AWS WAF。如需有關預設 Web ACL 動作的詳細資訊,請參閱設定網頁ACL預設動作 AWS WAF。
自訂要求標頭名稱
AWS WAF 前綴它插入的所有請求標頭x-amzn-waf-
,以避免與請求中已經存在的標頭混淆。例如,如果您指定標題名稱sample
, AWS WAF 插入標頭x-amzn-waf-sample
。
具有相同名稱的標題
如果請求已經具有相同名稱的標題 AWS WAF 正在插入, AWS WAF 覆蓋標題。因此,如果您在具有相同名稱的多個規則中定義標題,則檢查請求並找到匹配項的最後一條規則將添加其標題,並且以前的任何規則都不會添加。
具有非終止規則動作的自訂標頭
不同於 Allow 行動,Count 動作不會停止 AWS WAF 使用網絡中的其餘規則處理 Web 請求ACL。同樣,當 CAPTCHA 以及 Challenge 確定請求令牌是有效的,這些操作不會停止 AWS WAF 處理網頁要求。因此,如果您使用具有這些動作之一的規則插入自訂標題,後續規則也可能會插入自訂標題。如需規則動作行為的詳細資訊,請參閱使用規則動作於 AWS WAF。
例如,假設您有下列規則,並依照顯示的順序排列優先順序:
-
規則與 Count 動作和名為的自訂標頭
RuleAHeader
。 -
規則 B 具有 Allow 動作和名為的自訂標頭
RuleBHeader
。
如果請求同時符合 Rule 和規則 B, AWS WAF 插入標頭x-amzn-waf-RuleAHeader
和x-amzn-waf-RuleBHeader
,然後將請求轉發到受保護的資源。
AWS WAF 完成檢查請求後,將自定義標題插入 Web 請求中。因此,如果您使用自定義請求處理並將操作設置為的規則 Count,後續規則不會檢查您新增的自訂標頭。
自訂要求處理範例
您可以為規則的動作或 Web ACL 的預設動作定義自訂要求處理。下列清單顯示JSON新增至 Web 預設動作的自訂處理方式ACL。
{ "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" } }