Die Anforderungsweiterleitung leitet eine URL oder einen Host an einen bestimmten Serverpool um.
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 auf , um die Load Balancer-Regeln für die Weiterleitung von HTTP-Anforderungen 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 eine Aktion aus:
Aktion Beschreibung HTTP-Ablehnung Wird verwendet, um HTTP-Anforderungsmeldungen abzulehnen. Der angegebene „reply_status“-Wert wird als Statuscode für die entsprechende HTTP-Antwortmeldung verwendet. Die Antwortmeldung wird an den Client (in der Regel ein Browser) gesendet. Dabei wird auch der Grund für die Ablehnung angegeben. http_forward.reply_status – zum Ablehnen verwendeter HTTP-Statuscode
http_forward.reply_message – HTTP-AblehnungsnachrichtHTTP-Umleitung Wird verwendet, um HTTP-Anforderungsmeldungen an eine neue URL umzuleiten. Der HTTP-Statuscode für die Umleitung lautet 3xx, z. B. 301, 302, 303, 307 usw. „redirect_url“ ist die neue URL, an die die HTTP-Anforderungsmeldung umgeleitet wird.
„http_forward.redirect_status“ – HTTP-Statuscode für die Umleitung; „http_forward.redirect_url“ – URL für die HTTP-UmleitungPool auswählen Erzwingen der Anforderung auf einem bestimmten Serverpool. Der konfigurierte Algorithmus (Prognose) der angegebenen Poolmitglieder wird verwendet, um einen Server im Serverpool auszuwählen. Die übereinstimmenden HTTP-Anforderungsmeldungen werden an den angegebenen Pool weitergeleitet.
Wenn HTTP-Keep-Alive aktiviert ist und Weiterleitungsregeln im Load Balancer konfiguriert sind, hat die Keep-Alive-Einstellung des Servers Vorrang. Dies führt dazu, dass HTTP-Anforderungen an Server gesendet werden, die bereits mit Keep-Alive verbunden sind.
Möchten Sie den Weiterleitungsregeln immer Vorrang geben, wenn die Bedingungen der Load Balancer-Regel erfüllt sind, deaktivieren Sie die Keep-Alive-Einstellung.
Beachten Sie, dass die Persistenzeinstellung Vorrang vor der Keep-Alive-Einstellung hat.
Die Verarbeitung erfolgt in der Reihenfolge Persistenz > Keep-Alive > Load Balancer-Regeln
Http_forward.select_pool – UUID des Serverpools
Variablenpersistenz-Überprüfung Wählen Sie ein generisches Persistenz-Profil aus und geben Sie einen Variablennamen ein. Sie können auch Hash-Variable aktivieren. Wenn der Variablenwert lang ist, wird durch das Hashing der Variablen sichergestellt, dass sie ordnungsgemäß in der Persistenztabelle gespeichert wird. Wenn die Hash-Variable nicht aktiviert ist, wird nur der feste Präfixteil des Variablenwerts in der Persistenztabelle gespeichert, wenn der Variablenwert lang ist. Daher können zwei unterschiedliche Anforderungen mit langen Variablenwerten an denselben Backendserver gesendet werden, weil ihre Variablenwerte denselben Präfixteil aufweisen, wenn Sie an verschiedene Backendserver weitergeleitet werden sollen.
Verbindungsabbruch Wenn das Ablehnen in der Bedingung aktiviert und der Verbindungsabbruch konfiguriert ist, werden alle Anforderungen verworfen, die nicht mit der Bedingung übereinstimmen. Anforderungen, die der Bedingung entsprechen, sind zulässig.
Antwortstatus Zeigt den Status der Antwort an. Antwortnachricht Der Server antwortet mit einer Antwortnachricht, die bestätigte Adressen und die Konfiguration enthält. - Klicken Sie auf Speichern und Anwenden.