Ein Umschreiben der HTTP-Anforderung wird auf die HTTP-Anfrage angewendet, die vom Client stammt.
Voraussetzungen
Stellen Sie sicher, dass ein virtueller HTTP-Server von Layer 7 verfügbar ist. Siehe Hinzufügen von virtuellen HTTP-Servern der Schicht 7.
Load Balancer-Regeln unterstützen die Verwendung von regulären Ausdrücken (Regex) für Übereinstimmungstypen. Regex-Muster nach PCRE-Art werden mit einigen Einschränkungen für anspruchsvollere Anwendungsfälle unterstützt. Wenn Regex in Übereinstimmungsbedingungen verwendet wird, werden benannte erfassende Gruppierungskonstrukte unterstützt. Siehe Reguläre Ausdrücke in Load Balancer-Regeln.
Prozedur
- Öffnen Sie den virtuellen HTTP-Server der Schicht 7.
- Klicken Sie im Abschnitt „Load Balancer-Regeln“ neben der Umschreibungsphase für die Anforderung auf , um die Load Balancer-Regeln für die Phase „HTTP-Anforderungsrewrite“ zu konfigurieren.
- Wählen Sie in der Dropdown-Liste eine Übereinstimmungsbedingung aus. Übereinstimmungsbedingungen werden verwendet, um den Anwendungsdatenverkehr durch die Load Balancer zuzuordnen. Mehrere Übereinstimmungsbedingungen können in einer Load Balancer-Regel angegeben werden. Jede Übereinstimmungsbedingung definiert ein Kriterium für den Anwendungsdatenverkehr.
Unterstützte Übereinstimmungsbedingung Beschreibung HTTP-Anforderungsmethode Zuordnen einer HTTP-Anforderungsmethode. http_request.method – zuzuordnender Wert
HTTP-Anforderungs-URI Zuordnen einer HTTP-Anforderungs-URI ohne Abfrageargumente. http_request.uri – zuzuordnender Wert
Argumente des HTTP-Anforderungs-URI Wird verwendet, um die URI-Argumente bzw. die Abfragezeichenfolge von HTTP-Anforderungen zuzuordnen. Beispiel: in URI „http://example.com?foo=1&bar=2“ ist „foo=1&bar=2“ die Abfragezeichenfolge, die URI-Argumente enthält. In einem URI-Schema wird die Abfragezeichenfolge durch das erste Fragezeichen („?“) angegeben und durch ein Zahlenzeichen („#“) oder durch das URI-Ende beendet.
http_request.uri_arguments – zuzuordnender Wert
HTTP-Anforderungsversion Wird verwendet, um die HTTP-Protokollversion der HTTP-Anforderungen zuzuordnen. http_request.version – zuzuordnender Wert
HTTP-Anforderungs-Header Wird verwendet, um HTTP-Anforderungen nach HTTP-Header-Feldern zuzuordnen. HTTP-Header-Felder sind Bestandteil des Header-Abschnitts von HTTP-Anfragen und -Antworten. Sie definieren die Betriebsparameter einer HTTP-Transaktion. http_request.header_name – zuzuordnender Header-Name
Http_request.header_value – zuzuordnender Wert
HTTP-Anforderungs-Cookie Wird verwendet, um HTTP-Anforderungen nach Cookie zuzuordnen. Bei einem Cookie handelt es sich um einen speziellen Typ eines HTTP-Headers. Mithilfe von „match_type“ und „case_sensitive“ wird definiert, wie der Cookie-Wert verglichen wird. http_request.cookie_value – zuzuordnender Wert
HTTP-Anforderungstext Zuordnen des Inhalts eines HTTP-Anforderungstexts. http_request.body_value – zuzuordnender Wert
Client-SSL Zuordnen der Client-SSL-Profil-ID. ssl_profile_id – zuzuordnender Wert
Port des TCP-Headers Zuordnen einer TCP-Quelle oder des Zielports. Tcp_header.source_port – zuzuordnender Quellport
tcp_header.destination_port – zuzuordnender ZielportQuelle des IP-Headers Entspricht den IP-Header-Feldern in HTTP-Nachrichten. Der Quelltyp muss entweder eine einzelne IP-Adresse oder ein Bereich von IP-Adressen oder eine Gruppe sein. Siehe Hinzufügen einer Gruppe. - Wenn „Quelle des IP-Headers“ ausgewählt ist und der Quelltyp „IP-Adresse“ lautet, sollte die IP-Adresse der Quelle der HTTP-Nachricht mit den in Gruppen konfigurierten IP-Adressen übereinstimmen. Sowohl IPv4- als auch IPv6-Adressen werden unterstützt.
- Wenn „Quelle des IP-Headers“ ausgewählt ist und der Quelltyp „Gruppe“ lautet, wählen Sie die Gruppe in der Dropdown-Liste aus.
Ip_header.source_address – zuzuordnende Quelladresse
ip_header.destination_address – zuzuordnende ZieladresseVariable Erstellen einer Variablen und Zuweisen eines Wertes zu der Variablen. Groß-/Kleinschreibung beachten Festlegen eines Flags für den HTTP-Kopfzeilenwertvergleich. Bei dem Flag wird die Groß-/Kleinschreibung beachtet. Bei Auswahl von „true“ ist die Groß-/Kleinschreibung beim Vergleich des HTTP-Textwerts ausschlaggebend. - Wählen Sie im Dropdown-Menü einen Übereinstimmungstyp aus: „beginnt mit“, „endet mit“, „gleich“, „enthält“ oder „entspricht Regex“. Der Übereinstimmungstyp wird verwendet, um eine Bedingung einer angegebenen Aktion zuzuordnen.
Übereinstimmungstyp Beschreibung Beginnt mit Wenn die Übereinstimmungsbedingung mit dem angegebenen Wert beginnt, stimmt die Bedingung überein. Endet mit Wenn die Übereinstimmungsbedingung mit dem angegebenen Wert endet, stimmt die Bedingung überein. Gleich Wenn die Übereinstimmungsbedingung mit dem angegebenen Wert identisch ist, stimmt die Bedingung überein. Enthält Enthält die Übereinstimmungsbedingung den angegebenen Wert, stimmt die Bedingung überein. Entspricht Regex Wenn die Übereinstimmungsbedingung mit den angegebenen Werten übereinstimmt, stimmt die Bedingung überein. - Geben Sie den URI an.
- Wählen Sie im Dropdown-Menü eine Übereinstimmungsstrategie aus:
Übereinstimmungsstrategie Beschreibung Beliebig Gibt an, dass entweder der Host oder der Pfad übereinstimmen kann, damit diese Regel als Übereinstimmung betrachtet wird. Alle Gibt an, dass sowohl der Host als auch der Pfad übereinstimmen muss, damit diese Regel als Übereinstimmung betrachtet wird.
- Wählen Sie im Dropdown-Menü eine Aktion aus:
Aktionen Beschreibung HTTP-Anforderungs-URI umschreiben Diese Aktion wird verwendet, um URIs in den übereinstimmenden HTTP-Anforderungsmeldungen umzuschreiben. Geben Sie in dieser Bedingung den URI und die URI-Argumente an, um den URI und die URI-Argumente der übereinstimmenden HTTP-Anforderungsmeldung in die neuen Werte umzuschreiben. Das URI-Schema von HTTP-Meldungen hat die folgende Syntax: Schema:[//[user[:password]@]host[:port]][/path][?query][#fragment Das URI-Feld dieser Aktion wird verwendet, um den /path-Teil im oben aufgeführten Schema umzuschreiben. Das Feld „URI-Argumente“ wird verwendet, um den Abfrageteil umzuschreiben. Erfasste Variablen und integrierte Variablen können in den Feldern „URI“ und „URI-Argumente“ verwendet werden.
- Geben Sie den URI der HTTP-Anforderung ein.
- Geben Sie die Abfragezeichenfolge des URI ein, der in der Regel Schlüssel-Wert-Paare enthält, z. B.: foo1=bar1&foo2=bar2.
HTTP-Anforderungs-Header umschreiben Diese Aktion wird verwendet, um Header-Felder von übereinstimmenden HTTP-Anforderungsmeldungen in angegebene neue Werte umzuschreiben.
- Geben Sie den Namen einer HTTP-Anforderungsmeldung in das Header-Textfeld ein.
- Geben Sie den Header-Wert ein.
HTTP-Anforderungsheader löschen Diese Aktion wird verwendet, um Header-Felder von HTTP-Anforderungsmeldungen in der Phase HTTP_REQUEST_REWRITE zu löschen. Mithilfe einer Aktion können alle Header mit demselben Header-Namen gelöscht werden. Zum Löschen von Headern mit unterschiedlichen Header-Namen müssen mehrere Aktionen definiert werden.
- Geben Sie den Namen eines Header-Feldes der HTTP-Anforderungsmeldung ein.
Variablenzuweisung Erstellen Sie eine Variable und weisen Sie ihr einen Namen und einen Wert zu. - Klicken Sie auf die Schaltfläche Groß-/Kleinschreibung beachten, um für den Vergleich des HTTP-Header-Werts ein Flag mit Beachtung von Groß- und Kleinschreibung festzulegen.
- Klicken Sie auf die Schaltfläche Ablehnen, um sie zu aktivieren.
- Klicken Sie auf Speichern und Anwenden.