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.
Bedingungstypen für Listener-Regeln
Bedingungen definieren die Kriterien, die eingehende Anfragen erfüllen müssen, damit eine Listener-Regel wirksam wird. Wenn eine Anforderung den Bedingungen für eine Regel entspricht, wird die Anfrage gemäß den Aktionen der Regel behandelt. Jede Regelbedingung weist einen Typ und Bedingungsinformationen auf. Application Load Balancers unterstützen die folgenden Bedingungstypen für Listener-Regeln.
Bedingungstypen
host-header
-
Die Route basiert auf dem Hostnamen jeder Anforderung. Weitere Informationen finden Sie unter Hostbedingungen.
http-header
-
Die Route basiert auf den HTTP-Headern für jede Anforderung. Weitere Informationen finden Sie unter HTTP-Header-Bedingungen.
http-request-method
-
Die Route basiert auf der HTTP-Anforderungsmethode jeder Anforderung. Weitere Informationen finden Sie unter Bedingungen für HTTP-Anforderungsmethoden.
path-pattern
-
Route basierend auf Pfadmustern in der Anfrage URLs. Weitere Informationen finden Sie unter Pfadbedingungen.
query-string
-
Route basierend auf key/value Paaren oder Werten in den Abfragezeichenfolgen. Weitere Informationen finden Sie unter Abfragezeichenfolgebedingungen.
source-ip
-
Die Route basiert auf der Quell-IP-Adresse jeder Anforderung. Weitere Informationen finden Sie unter Bedingungen für die Quell-IP-Adresse.
Grundlagen des Zustands
-
Jede Regel kann optional jeweils eine der folgenden Bedingungen umfassen:
host-header
,http-request-method
,path-pattern
, undsource-ip
. Jede Regel kann optional auch eine oder mehrere der folgenden Bedingungen enthalten:http-header
undquery-string
. -
Sie können bis zu drei Übereinstimmungsbewertungen pro Bedingung angeben. Beispiel: Für jede
http-header
-Bedingung können Sie bis zu drei Zeichenfolgen angeben, die mit dem Wert des HTTP-Headers in der Anforderung vergleichen werden. Die Bedingung wird erfüllt, wenn eine der Zeichenfolgen dem Wert des HTTP-Headers entspricht. Wenn alle drei Zeichenfolgen eine Übereinstimmung aufweisen sollen, erstellen Sie eine Bedingung pro Übereinstimmungsbewertung. -
Sie können bis zu fünf Übereinstimmungsbewertungen pro Regel angeben. Beispiel: Sie können eine Regel mit fünf Bedingungen erstellen, wobei jede Bedingung eine Übereinstimmungsbewertung aufweist.
-
Sie können Platzhalterzeichen in die Übereinstimmungsbewertung für die Bedingungen
http-header
,host-header
,path-pattern
undquery-string
einschließen. Die Anzahl der Platzhalterzeichen pro Bedingung ist auf 5 beschränkt. -
Regeln werden nur auf sichtbare ASCII-Zeichen angewendet; Steuerzeichen (0x00 bis 0x1f und 0x7f) sind ausgeschlossen.
Demos
Demos finden Sie unter Erweiterte Anfrageweiterleitung
Hostbedingungen
Mit Hostbedingungen können Sie Regeln definieren, die Anforderungen basierend auf dem Hostnamen im Host-Header weiterleiten (auch als hostbasierte Weiterleitung bezeichnet). Auf diese Weise können Sie mit einem einzigen Load Balancer mehrere Unterdomains und verschiedene Top-Level-Domains unterstützen.
Beim Hostnamen wird die Groß-/Kleinschreibung nicht berücksichtigt, er kann maximal 128 Zeichen lang sein und kann folgende Zeichen enthalten:
-
A-Z, a-z, 0-9
-
- .
-
* (entspricht 0 oder mehr Zeichen)
-
? (entspricht genau 1 Zeichen)
Sie müssen mindestens ein "."-Zeichen einschließen. Es können nur alphabethische Zeichen nach dem letzten "."-Zeichen angegeben werden.
Beispiele für Hostnamen
-
example.com
-
test.example.com
-
*.example.com
Die Regel *.example.com entspricht test.example.com, nicht jedoch example.com.
Beispiel für eine Host-Header-Bedingung für AWS CLI
Sie können Bedingungen angeben, wenn Sie eine Regel erstellen oder ändern. Weitere Informationen finden Sie bei den Befehlen create-rule und modify-rule. Die folgende Bedingung wird von Anforderungen mit einem Host-Header erfüllt, der mindestens einer der angegeben Zeichenfolgen entspricht.
[ { "Field": "host-header", "HostHeaderConfig": { "Values": ["*.example.com"] } } ]
HTTP-Header-Bedingungen
Mit HTTP-Header-Bedingungen können Sie Regeln konfigurieren, mit denen Anforderungen auf Grundlage der HTTP-Header für die Anforderung weitergeleitet werden. Sie können die Namen der standardmäßigen oder benutzerdefinierten HTTP-Header-Felder angeben. Beim Headernamen und bei der Übereinstimmungsbewertung wird nicht zwischen die Groß- und Kleinschreibung unterschieden. Die folgenden Platzhalterzeichen werden in den Vergleichszeichenfolgen unterstützt: * (findet eine Übereinstimmung mit 0 oder mehr Zeichen) und ? (findet Übereinstimmungen für genau 1 Zeichen). Platzhalterzeichen werden im Header-Namen nicht unterstützt.
Wenn das Application Load Balancer Balancer-Attribut aktiviert routing.http.drop_invalid_header_fields
ist, werden Header-Namen gelöscht, die nicht den regulären Ausdrücken () A-Z,a-z,0-9
entsprechen. Header-Namen, die nicht den regulären Ausdrücken entsprechen, können ebenfalls hinzugefügt werden.
Beispiel für eine HTTP-Header-Bedingung für AWS CLI
Sie können Bedingungen angeben, wenn Sie eine Regel erstellen oder ändern. Weitere Informationen finden Sie bei den Befehlen create-rule und modify-rule. Die folgende Bedingung wird von Anforderungen mit einem User-Agent-Header erfüllt, der mindestens einer der angegeben Zeichenfolgen entspricht.
[ { "Field": "http-header", "HttpHeaderConfig": { "HttpHeaderName": "User-Agent", "Values": ["*Chrome*", "*Safari*"] } } ]
Bedingungen für HTTP-Anforderungsmethoden
Mit Bedingungen für HTTP-Anforderungsmethoden können Sie Regeln konfigurieren, mit denen Anforderungen auf Grundlage der HTTP-Anforderungsmethode der Anforderung weitergeleitet werden. Sie können standardmäßige oder benutzerdefinierte HTTP-Methoden angeben. Bei der Übereinstimmungsbewertung wird die Groß- und Kleinschreibung nicht beachtet, Platzhalterzeichen werden nicht unterstützt. Der Methodenname muss also eine genaue Übereinstimmung sein.
Wir empfehlen, dass Sie GET- und HEAD-Anforderungen auf die gleiche Weise weiterleiten, da die Antwort auf eine HEAD-Anforderung möglicherweise zwischengespeichert wird.
Beispiel für eine HTTP-Methodenbedingung für AWS CLI
Sie können Bedingungen angeben, wenn Sie eine Regel erstellen oder ändern. Weitere Informationen finden Sie bei den Befehlen create-rule und modify-rule. Die folgende Bedingung wird von Anforderungen erfüllt, bei der die angegebene Methode verwendet wird.
[ { "Field": "http-request-method", "HttpRequestMethodConfig": { "Values": ["CUSTOM-METHOD"] } } ]
Pfadbedingungen
Mit Pfadbedingungen können Sie Regeln definieren, mit denen Anforderungen auf Grundlage der URL in der Anforderung weitergeleitet werden (auch bekannt als pfadbasierte Weiterleitung
Das Pfadmuster wird nur auf den Pfad der URL, nicht auf dessen Abfrageparameter, angewendet. Es wird nur auf sichtbare ASCII-Zeichen angewendet; Steuerzeichen (0x00 bis 0x1f und 0x7f) sind ausgeschlossen.
Die Regelauswertung wird erst durchgeführt, nachdem die URI-Normalisierung erfolgt ist.
Beim Pfadmuster wird die Groß-/Kleinschreibung berücksichtigt, es kann maximal 128 Zeichen lang sein und kann folgende Zeichen enthalten.
-
A-Z, a-z, 0-9
-
_ - . $ / ~ " ' @ : +
-
& (Verwendung von &)
-
* (entspricht 0 oder mehr Zeichen)
-
? (entspricht genau 1 Zeichen)
Wenn die Protokollversion gRPC ist, können Bedingungen für ein Paket, einen Dienst oder eine Methode spezifisch sein.
Beispiel für HTTP-Pfadmuster
-
/img/*
-
/img/*/pics
Beispiel für gRPC-Pfadmuster
-
/paket
-
/paket.dienst
-
/paket.dienst/methode
Das Pfadmuster wird verwendet, um Anforderungen weiterzuleiten. Die Anforderungen werden bei diesem Vorgang aber nicht geändert. Wenn eine Regel beispielsweise das Pfadmuster /img/*
aufweist, leitet die Regel eine Anforderung von /img/picture.jpg
an die angegebene Zielgruppe als Anforderung von /img/picture.jpg
weiter.
Beispiel für eine Pfadmusterbedingung für AWS CLI
Sie können Bedingungen angeben, wenn Sie eine Regel erstellen oder ändern. Weitere Informationen finden Sie bei den Befehlen create-rule und modify-rule. Die folgende Bedingung wird von Anforderungen mit einer URL erfüllt, die die angegebene Zeichenfolge enthält.
[ { "Field": "path-pattern", "PathPatternConfig": { "Values": ["/img/*"] } } ]
Abfragezeichenfolgebedingungen
Sie können Bedingungen für Abfragezeichenfolgen verwenden, um Regeln zu konfigurieren, die Anfragen auf der Grundlage von key/value Paaren oder Werten in der Abfragezeichenfolge weiterleiten. Bei der Übereinstimmungsbewertung wird die Groß- und Kleinschreibung nicht beachtet, Die folgenden Platzhalterzeichen werden unterstützt: * (findet Übereinstimmungen mit 0 oder mehr Zeichen) und ? (findet Übereinstimmungen für genau 1 Zeichen).
Beispiel für eine Abfragezeichenfolge für die AWS CLI
Sie können Bedingungen angeben, wenn Sie eine Regel erstellen oder ändern. Weitere Informationen finden Sie bei den Befehlen create-rule und modify-rule. Die folgende Bedingung wird durch Anfragen mit einer Abfragezeichenfolge erfüllt, die entweder ein key/value Paar „version=v1" oder einen beliebigen Schlüssel enthält, der auf „Beispiel“ gesetzt ist.
[ { "Field": "query-string", "QueryStringConfig": { "Values": [ { "Key": "version", "Value": "v1" }, { "Value": "*example*" } ] } } ]
Bedingungen für die Quell-IP-Adresse
Mit Bedingungen für die Quell-IP-Adresse können Sie Regeln konfigurieren, mit denen Anforderungen auf Grundlage der Quell-IP-Adresse der Anforderung weitergeleitet werden. Die IP-Adresse muss im CIDR-Format angegeben werden. Sie können sowohl als auch IPv4 Adressen verwenden. IPv6 Platzhalterzeichen werden nicht unterstützt. Sie können den 255.255.255.255/32
-CIDR für die Quell-IP-Regelbedingung nicht angeben.
Befindet sich ein Client hinter einem Proxy, ist dies die IP-Adresse des Proxys, nicht die des Clients.
Diese Bedingung wird von den Adressen in der X-Forwarded-For Kopfzeile nicht erfüllt. Verwenden Sie eine http-header
Bedingung, um in der X-Forwarded-For Kopfzeile nach Adressen zu suchen.
Beispiel für eine Quell-IP-Bedingung für AWS CLI
Sie können Bedingungen angeben, wenn Sie eine Regel erstellen oder ändern. Weitere Informationen finden Sie bei den Befehlen create-rule und modify-rule. Die Folgende Bedingung wird von Anforderungen mit einer Quell-IP-Adresse in einem der angegebenen CIDR-Blöcken erfüllt.
[ { "Field": "source-ip", "SourceIpConfig": { "Values": ["192.0.2.0/24", "198.51.100.10/32"] } } ]