Freigeben über


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-Adresse 111.222.333.444 lautet, würde das {client_ip}-Token als 111.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-Adresse 111.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
  • {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:

Nächste Schritte