Wir stellen vor: ein neues Konsolenerlebnis für AWS WAF
Sie können das aktualisierte Erlebnis jetzt verwenden, um überall in der Konsole auf AWS WAF Funktionen zuzugreifen. Weitere Details finden Sie unter Arbeiten mit der aktualisierten Konsolenerfahrung.
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.
Senden von benutzerdefinierten Antworten für Block Aktionen
In diesem Abschnitt wird erklärt, wie Sie AWS WAF eine benutzerdefinierte HTTP-Antwort für Regelaktionen oder Standardaktionen von Protection Pack oder Web-ACL, die auf eingestellt sind, an Block den Client zurücksenden. Weitere Informationen zu Regelaktionen unter Verwenden von Regelaktionen in AWS WAF. Weitere Informationen zu Standard-Schutzpaketen oder Web-ACL-Aktionen finden Sie unterEinstellung der Standardaktion für das Protection Pack oder die Web-ACL in AWS WAF.
Wenn Sie eine benutzerdefinierte Antwortbehandlung für eine Block Aktion definieren, definieren Sie den Statuscode, die Header und den Antworttext. Eine Liste der Statuscodes, die Sie zusammen verwenden können AWS WAF, finden Sie im folgenden Abschnitt. Unterstützte Statuscodes für benutzerdefinierte Antworten
Anwendungsfälle
Zu den Anwendungsfällen für benutzerdefinierte Antworten gehören:
-
Senden eines nicht standardmäßigen Statuscodes an den Client zurück
-
Senden benutzerdefinierter Antwort-Header zurück an den Client. Sie können einen beliebigen Header-Namen angeben, mit Ausnahme
content-type
von. -
Senden einer statischen Fehlerseite an den Client zurück
-
Umleiten des Clients auf eine andere URL Dazu geben Sie einen der
3xx
-Umleitungsstatuscodes wie301 (Moved Permanently)
oder302 (Found)
und dann einen neuen Header mit dem NamenLocation
mit der neuen URL an.
Interaktion mit Antworten, die Sie in Ihrer geschützten Ressource definieren
Benutzerdefinierte Antworten, die Sie für die AWS WAF Block Aktion angeben, haben Vorrang vor allen Antwortspezifikationen, die Sie in Ihrer geschützten Ressource definieren.
Der Hostdienst für die AWS Ressource, mit der Sie schützen, ermöglicht AWS WAF möglicherweise eine benutzerdefinierte Antwortbehandlung für Webanfragen. Beispiele sind unter anderem:
-
Bei Amazon CloudFront können Sie die Fehlerseite anhand des Statuscodes anpassen. Weitere Informationen finden Sie unter Generieren benutzerdefinierter Fehlerantworten im Amazon CloudFront Developer Guide.
-
Mit Amazon API Gateway können Sie den Antwort- und Statuscode für Ihr Gateway definieren. Weitere Informationen finden Sie unter Gateway-Antworten in API Gateway im Entwicklerhandbuch für Amazon API Gateway.
Sie können AWS WAF benutzerdefinierte Antworteinstellungen nicht mit benutzerdefinierten Antworteinstellungen in der geschützten AWS Ressource kombinieren. Die Antwortspezifikation für jede einzelne Webanforderung stammt entweder vollständig von AWS WAF oder vollständig von der geschützten Ressource.
Für AWS WAF blockierte Webanfragen ist im Folgenden die Rangfolge aufgeführt.
-
AWS WAF benutzerdefinierte Antwort — Wenn für die AWS WAF Block Aktion eine benutzerdefinierte Antwort aktiviert ist, sendet die geschützte Ressource die konfigurierte benutzerdefinierte Antwort zurück an den Client. Alle Antworteinstellungen, die Sie möglicherweise in der geschützten Ressource selbst definiert haben, haben keine Auswirkungen.
-
Benutzerdefinierte Antwort, die in der geschützten Ressource definiert ist – Wenn für die geschützte Ressource benutzerdefinierte Antworteinstellungen angegeben wurden, verwendet die geschützte Ressource diese Einstellungen für die Antwort an den Client.
-
AWS WAF BlockStandardantwort — Andernfalls antwortet die geschützte Ressource dem Client mit der AWS WAF Block Standardantwort
403 (Forbidden)
.
Bei Webanfragen, die dies AWS WAF zulassen, bestimmt Ihre Konfiguration der geschützten Ressource die Antwort, die an den Client zurückgesendet wird. Sie können die Antworteinstellungen AWS WAF für zulässige Anfragen nicht konfigurieren. Die einzige Anpassung, die Sie AWS WAF für zulässige Anfragen konfigurieren können, ist das Einfügen von benutzerdefinierten Headern in die ursprüngliche Anfrage, bevor die Anfrage an die geschützte Ressource weitergeleitet wird. Diese Option wird im vorherigen Abschnitt (Einfügen von benutzerdefinierten Anforderungsheadern für nicht blockierende Aktionen) beschrieben.
Benutzerdefinierte Antwort-Header
Sie können einen beliebigen Header-Namen angeben, mit Ausnahme content-type
von.
Benutzerdefinierte Antworttexte
Sie definieren den Hauptteil einer benutzerdefinierten Antwort im Kontext des Schutzpakets, der Web-ACL oder der Regelgruppe, in der Sie sie verwenden möchten. Nachdem Sie einen benutzerdefinierten Antworttext definiert haben, können Sie ihn als Referenz an einer beliebigen anderen Stelle im Protection Pack, in der Web-ACL oder in der Regelgruppe verwenden, in der Sie ihn erstellt haben. In den Einstellungen für einzelne Block Aktionen verweisen Sie auf den benutzerdefinierten Text, den Sie verwenden möchten, und definieren den Statuscode und die Kopfzeile der benutzerdefinierten Antwort.
Wenn Sie eine benutzerdefinierte Antwort in der Konsole erstellen, können Sie aus Antworttexten auswählen, die Sie bereits definiert haben, oder Sie können einen neuen Text erstellen. Außerhalb der Konsole definieren Sie Ihre benutzerdefinierten Antworttexte auf der Ebene des Schutzpakets, der Web-ACL oder der Regelgruppe und verweisen dann in den Aktionseinstellungen innerhalb des Schutzpakets, der Web-ACL oder der Regelgruppe auf sie. Dies wird im Beispiel-JSON-Code im folgenden Abschnitt gezeigt.
Beispiel: Benutzerdefinierte Antwort
Im folgenden Beispiel wird der JSON-Code für eine Regelgruppe mit benutzerdefinierten Antworteinstellungen aufgeführt. Der benutzerdefinierte Antworttext wird für die gesamte Regelgruppe definiert und dann durch Schlüssel in der Regelaktion referenziert.
{ "ARN": "test_rulegroup_arn", "Capacity": 1, "CustomResponseBodies": { "CustomResponseBodyKey1": { "Content": "This is a plain text response body.", "ContentType": "TEXT_PLAIN" } }, "Description": "This is a test rule group.", "Id": "test_rulegroup_id", "Name": "TestRuleGroup", "Rules": [ { "Action": { "Block": { "CustomResponse": { "CustomResponseBodyKey": "CustomResponseBodyKey1", "ResponseCode": 404, "ResponseHeaders": [ { "Name": "BlockActionHeader1Name", "Value": "BlockActionHeader1Value" } ] } } }, "Name": "GeoMatchRule", "Priority": 1, "Statement": { "GeoMatchStatement": { "CountryCodes": [ "US" ] } }, "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "TestRuleGroupReferenceMetric", "SampledRequestsEnabled": true } } ], "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "TestRuleGroupMetric", "SampledRequestsEnabled": true } }