Servervariablen in Azure Front Door-Regelsätzen
Regelsatz-Servervariablen ermöglichen den Zugriff auf strukturierte Informationen über die Anforderung. wenn Sie Regelsätze verwenden.
Wenn Sie Vergleichsbedingungen für Regelsätze verwenden, sind Servervariablen als Vergleichsbedingungen verfügbar, sodass Sie Anforderungen mit bestimmten Eigenschaften identifizieren können.
Wenn Sie Regelsatzaktionen verwenden, können Sie Servervariablen verwenden, um die Anforderungs- und Antwortheader dynamisch zu ändern und URLs, Pfade und Abfragezeichenfolgen neu zu schreiben, z. B. wenn eine neue Seite geladen wird oder ein Formular gepostet wird.
Hinweis
Die Servervariablen sind nur mit der Standard- und der Premium-Ebene von Azure Front Door verfügbar.
Unterstützte Variablen
Variablenname | BESCHREIBUNG |
---|---|
socket_ip |
Die IP-Adresse der direkten Verbindung mit dem Azure Front Door-Edge. Wenn der Client einen HTTP-Proxy oder einen Lastenausgleich zum Senden der Anforderung verwendet hat, ist der Wert von socket_ip die IP-Adresse des Proxys oder Lastenausgleichs.Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Socketadresse. |
client_ip |
Die IP-Adresse des Clients, der die ursprüngliche Anforderung gestellt hat. Wenn in der Anforderung ein X-Forwarded-For -Header vorhanden ist, wird die Client-IP-Adresse aus dem Header ausgewählt.Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Remoteadresse, und konfigurieren Sie den Operator als IP-Übereinstimmung oder Keine IP-Übereinstimmung. |
client_port |
Der IP-Port des Clients, der die Anforderung gestellt hat. Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Clientport. |
hostname |
Der Hostname in der Anforderung des Client. Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Hostname. |
geo_country |
Gibt das Herkunftsland/die Herkunftsregion der anfordernden Person über den jeweiligen Länder-/Regionscode an. Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Remoteadresse, und konfigurieren Sie den Operator als Geografische Übereinstimmung oder Keine geografische Übereinstimmung. |
http_method |
Die Methode, die für die URL-Anforderung verwendet wird, z. B. GET oder POST .Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Anforderungsmethode. |
http_version |
Das Anforderungsprotokoll. Normalerweise HTTP/1.0 , HTTP/1.1 oder HTTP/2.0 .Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie HTTP-Version. |
query_string |
Die Liste der Variablen/Wert-Paare nach dem ? in der angeforderten URL.In der Anforderung http://contoso.com:8080/article.aspx?id=123&title=fabrikam ist beispielsweise der query_string Wert id=123&title=fabrikam .Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Abfragezeichenfolge. |
request_scheme |
Das Anforderungsschema: http oder https .Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Anforderungsprotokoll. |
request_uri |
Der vollständige ursprüngliche Anforderungs-URI (mit Argumenten). In der Anforderung http://contoso.com:8080/article.aspx?id=123&title=fabrikam ist beispielsweise der request_uri Wert http://contoso.com:8080/article.aspx?id=123&title=fabrikam .Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Anforderungs-URL. |
ssl_protocol |
Das Protokoll einer hergestellten TLS-Verbindung. Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie SSL-Protokoll. |
server_port |
Der Port des Servers, der eine Anforderung akzeptiert hat. Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie Serverport. |
url_path |
Identifiziert die bestimmte Ressource auf dem Host, auf die der Webclient zugreifen möchte. Dies ist der Teil des Anforderungs-URI ohne die Argumente oder den vorangestellten Schrägstrich. In der Anforderung http://contoso.com:8080/article.aspx?id=123&title=fabrikam ist beispielsweise der url_path Wert article.aspx . Azure Front Door unterstützt die dynamische Erfassung des URL-Pfads mit {url_path:seg#} Servervariable und konvertiert den URL-Pfad in Klein- oder Großbuchstaben mit {url_path.tolower} oder {url_path.toupper} . Weitere Informationen finden Sie unter Servervariablenformat und Servervariablen. Um in einer Vergleichsbedingung auf diese Servervariable zuzugreifen, verwenden Sie die Bedingung Anforderungspfad. |
Format der Servervariablen
Wenn Sie mit Regelsatzaktionen arbeiten, geben Sie Servervariablen in den folgenden Formaten an:
{variable}
: Schließt die gesamte Servervariable ein. Wenn z. B. die Client-IP-Adresse111.222.333.444
lautet, würde das{client_ip}
-Token als111.222.333.444
ausgewertet werden.{variable:offset}
: Schließen Sie die Servervariable nach einem bestimmten Offset bis zum Ende der Variablen ein. Der Offset ist NULL basiert. Wenn z. B. die Client-IP-Adresse111.222.333.444
lautet, würde das{client_ip:3}
-Token als.222.333.444
ausgewertet werden.{variable:offset:length}
: Schließt die Servervariable nach einem bestimmten Offset bis zur angegebenen Länge ein. Der Offset ist NULL basiert. Beispiel: Wenn die Variable „var“ den Wert „AppId=01f592979c584d0f9d679db3e66a3e5e“ aufweist,- Offsets innerhalb des Bereichs, keine Längen:
{var:0}
=AppId=01f592979c584d0f9d679db3e66a3e5e
,{var:6}
=01f592979c584d0f9d679db3e66a3e5e
,{var:-8}
=e66a3e5e
- Offsets außerhalb des Bereichs, keine Längen:
{var:-128}
=AppId=01f592979c584d0f9d679db3e66a3e5e
,{var:128}
= null - Offsets und Längen innerhalb des Bereichs:
{var:0:5}
=AppId
,{var:7:7}
=1f59297
,{var:7:-7}
=1f592979c584d0f9d679db3e
- Null-Längen:
{var:0:0}
= null,{var:4:0}
= null - Offsets innerhalb des Bereichs und Längen außerhalb des Bereichs:
{var:0:100}
=AppId=01f592979c584d0f9d679db3e66a3e5e
,{var:5:100}
==01f592979c584d0f9d679db3e66a3e5e
,{var:0:-48}
= null,{var:4:-48}
= null
- Offsets innerhalb des Bereichs, keine Längen:
{url_path:seg#}
: Ermöglichen Sie Benutzern das Erfassen und Verwenden des gewünschten URL-Pfadsegments in URL-Umleitung, URL-Umschreibung oder einer sinnvollen Aktion. Der Benutzer kann auch mehrere Segmente erfassen, indem er dieselbe Formatvorlage wie die Teilzeichenfolgenerfassung{url_path:seg1:3}
verwendet. Beispielsweise lautet für ein Quellmuster/id/12345/default
und ein URL-Rewrite-Ziel/{url_path:seg1}/home
der erwartete URL-Pfad nach dem Rewrite/12345/home
. Für eine Mehrsegment-Erfassung führt ein URL-Umschreibungsziel/{url_path:seg1:3}/home
zu/12345/default/location/home
, wenn das Quellmuster/id/12345/default/location/test
lautet. Die Segmenterfassung enthält den Standortpfad. Wenn die Route also lautet/match/*
, stimmt Segment 0 überein.Offset entspricht dem Index des Startsegments, und die Länge bezieht sich auf die Anzahl der zu erfassenden Segmente, einschließlich des Indexes = Offset.
Wenn Offset und Länge positiv sind, gilt die folgende Logik:
- Wenn die Länge nicht enthalten ist, erfassen Sie das Segment bei Index = Offset.
- Wenn die Länge enthalten ist, erfassen Sie Segmente von Index = Offset bis Index = Offset + Länge.
Die folgenden Sonderfälle werden ebenfalls behandelt:
- Wenn Offset negativ ist, zählen Sie rückwärts vom Ende des Pfads, um das Startsegment abzurufen.
- Wenn Offset ein negativer Wert größer oder gleich der Anzahl der Segmente ist, wird auf 0 festgelegt.
- Wenn der Offset größer als die Anzahl der Segmente ist, ist das Ergebnis leer.
- Wenn die Länge 0 ist, wird das einzelne Segment zurückgegeben, das durch Offset angegeben wird
- Wenn die Länge negativ ist, behandeln Sie sie als zweiten Offset und berechnen Sie rückwärts vom Ende des Pfads. Wenn der Wert kleiner als Offset ist, führt er zu einer leeren Zeichenfolge.
- Wenn die Länge größer als die Anzahl der Segmente ist, geben Sie zurück, was im Pfad verbleibt.
{url_path.tolower}
/{url_path.toupper}
: Wandeln Sie den URL-Pfad in Klein- oder Großbuchstaben um. Beispielsweise führt ein Ziel{url_path.tolower}
in der URL-Umschreibung/Umleitung für/lowercase/ABcDXyZ/EXAMPLE
zu/lowercase/abcdxyz/example
. Ein Ziel{url_path.toupper}
in der URL-Umschreibung/Umleitung für/ABcDXyZ/example
führt zu/ABCDXYZ/EXAMPLE
.
Unterstützte Regelsatzaktionen
Servervariablen werden für die folgenden Regelsatzaktionen unterstützt:
- Verhalten beim Zwischenspeichern von Abfragezeichenfolgen in Außerkraftsetzung der Routenkonfiguration
- Anforderungsheader ändern
- Antwortheader ändern
- Umleitungs-URL
- URL Rewrite
Nächste Schritte
- Erfahren Sie mehr über den Azure Front Door-Regelsatz.
- Erfahren Sie mehr über Vergleichsbedingungen für Regelsätze.
- Erfahren Sie mehr über Regelsatzaktionen.