Benutzerdefinierte Anforderungsheader-Einfügungen für nicht blockierende Aktionen - AWS WAFAWS Firewall Manager, und AWS Shield Advanced

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Benutzerdefinierte Anforderungsheader-Einfügungen für nicht blockierende Aktionen

Sie können anweisen AWS WAF , benutzerdefinierte Header in die ursprüngliche HTTP-Anfrage einzufügen, wenn eine Regelaktion die Anfrage nicht blockiert. Mit dieser Option fügen Sie der Anfrage nur etwas hinzu. Sie können keinen Teil der ursprünglichen Anforderung ändern oder ersetzen. Zu den Anwendungsfällen für das Einfügen von benutzerdefinierten Headern gehört es, einer Downstream-Anwendung zu signalisieren, die Anforderung auf der Grundlage der eingefügten Header anders zu verarbeiten, und die Anforderung zur Analyse zu kennzeichnen.

Diese Option gilt für die RegelaktionenAllow, CountCAPTCHA, und Challenge und für Web-ACL-Standardaktionen, die auf eingestellt sindAllow. Weitere Informationen zu Regelaktionen unter Regelaktion. Weitere Informationen zu standardmäßigen Web-ACL-Aktionen finden Sie unter Die Web-ACL-Standardaktion.

Benutzerdefinierte Anforderungs-Header-Namen

AWS WAF stellt allen eingefügten Anforderungsheadern ein Präfix vorx-amzn-waf-, um Verwechslungen mit den Headern zu vermeiden, die bereits in der Anfrage enthalten sind. Wenn Sie beispielsweise den Header-Namen angebensample, wird der Header AWS WAF eingefügt. x-amzn-waf-sample

Header mit demselben Namen

Wenn die Anforderung bereits über einen Header mit demselben Namen verfügt, der gerade eingefügt AWS WAF wird, wird der Header AWS WAF überschrieben. Wenn Sie also in mehreren Regeln Header mit identischen Namen definieren, wird die Kopfzeile bei der letzten Regel hinzugefügt, die die Anforderung überprüft und eine Übereinstimmung findet. Die vorherigen Regeln würden dies nicht tun.

Benutzerdefinierte Header mit nicht beendenden Regelaktionen

Im Gegensatz zur Allow Aktion stoppt die Count Aktion nicht die Verarbeitung AWS WAF der Webanforderung mithilfe der übrigen Regeln in der Web-ACL. Auch wenn CAPTCHA Challenge festgestellt wird, dass das Anforderungstoken gültig ist, beenden AWS WAF diese Aktionen nicht die Verarbeitung der Webanforderung. Wenn Sie also benutzerdefinierte Header mithilfe einer Regel mit einer dieser Aktionen einfügen, fügen nachfolgende Regeln möglicherweise auch benutzerdefinierte Header ein. Weitere Informationen zum Verhalten von Regelaktionen finden Sie unter. Regelaktion

Angenommen die folgenden Regeln wurden mit der angezeigten Priorität festgelegt:

  1. RegelA mit einer Count Aktion und einem benutzerdefinierten Header namensRuleAHeader.

  2. RuleB mit einer Allow Aktion und einem benutzerdefinierten Header namens. RuleBHeader

Wenn eine Anfrage sowohl mit RuleA als auch mit RuleB übereinstimmt, AWS WAF fügt die Header ein x-amzn-waf-RuleAHeader und x-amzn-waf-RuleBHeader leitet die Anfrage dann an die geschützte Ressource weiter.

AWS WAF fügt benutzerdefinierte Header in eine Webanforderung ein, wenn die Überprüfung der Anfrage abgeschlossen ist. Wenn Sie also die benutzerdefinierte Anforderungsbehandlung mit einer Regel verwenden, für die die Aktion auf festgelegt istCount, werden die benutzerdefinierten Header, die Sie hinzufügen, nicht durch nachfolgende Regeln überprüft.

Beispiel: Benutzerdefinierte Anforderungsbehandlung

Sie definieren die benutzerdefinierte Anforderungsbehandlung für die Aktion einer Regel oder für die Standardaktion einer Web-ACL. Die folgende Auflistung zeigt den JSON-Code für die benutzerdefinierte Behandlung, die der Standardaktion für eine Web-ACL hinzugefügt wurde.

{ "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" } }