Delen via


Servervariabelen voor Azure Front Door-regelset

Servervariabelen voor regelsets bieden toegang tot gestructureerde informatie over de aanvraag wanneer u met regelsets werkt.

Wanneer u voorwaarden voor overeenkomstregelset gebruikt, zijn servervariabelen beschikbaar als overeenkomstvoorwaarden, zodat u aanvragen met specifieke eigenschappen kunt identificeren.

Wanneer u regelsetacties gebruikt, kunt u servervariabelen gebruiken om de aanvraag- en antwoordheaders dynamisch te wijzigen en URL's, paden en queryreeksen te herschrijven, bijvoorbeeld wanneer een nieuwe pagina wordt geladen of wanneer een formulier wordt geplaatst.

Notitie

Servervariabelen zijn beschikbaar met Azure Front Door Standard- en Premium-lagen.

Ondersteunde variabelen

Variabelenaam Beschrijving
socket_ip Het IP-adres van de directe verbinding met Azure Front Door Edge. Als de client een HTTP-proxy of een load balancer heeft gebruikt om de aanvraag te verzenden, is de waarde van socket_ip het IP-adres van de proxy of load balancer.
Gebruik socketadres om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
client_ip Het IP-adres van de client die de oorspronkelijke aanvraag heeft ingediend. Als de aanvraag een X-Forwarded-For header bevat, wordt het IP-adres van de client uit de header gekozen.
Als u toegang wilt krijgen tot deze servervariabele in een overeenkomstvoorwaarde, gebruikt u extern adres en configureert u de operator voor IP-overeenkomst of IP-niet-overeenkomst.
client_port De IP-poort van de client die de aanvraag heeft ingediend.
Gebruik clientpoort om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
hostname De hostnaam in de aanvraag van de client.
Gebruik hostnaam om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
geo_country Geeft het land of de regio van herkomst van de aanvrager aan via de land-/regiocode.
Als u toegang wilt krijgen tot deze servervariabele in een overeenkomstvoorwaarde, gebruikt u een extern adres en configureert u de operator voor geo-overeenkomst of geo-overeenkomst.
http_method De methode die wordt gebruikt om de URL-aanvraag te doen, zoals GET of POST.
Gebruik de aanvraagmethode om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
http_version Het aanvraagprotocol. Meestal HTTP/1.0, HTTP/1.1of HTTP/2.0.
Gebruik HTTP-versie om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
query_string De lijst met variabele/waardeparen die de ? in de aangevraagde URL volgen.
In de aanvraag http://contoso.com:8080/article.aspx?id=123&title=fabrikamis id=123&title=fabrikamde query_string waarde bijvoorbeeld .
Gebruik de querytekenreeks om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
request_scheme Het aanvraagschema: http of https.
Gebruik aanvraagprotocol om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
request_uri De volledige oorspronkelijke aanvraag-URI (met argumenten).
In de aanvraag http://contoso.com:8080/article.aspx?id=123&title=fabrikamis http://contoso.com:8080/article.aspx?id=123&title=fabrikamde request_uri waarde bijvoorbeeld .
Gebruik aanvraag-URL om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
ssl_protocol Het protocol van een tot stand gebrachte TLS-verbinding.
Gebruik SSL-protocol om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
server_port De poort van de server die een aanvraag heeft geaccepteerd.
Gebruik serverpoort om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.
url_path Identificeert de specifieke resource in de host waartoe de webclient toegang wil hebben. Dit is het deel van de aanvraag-URI zonder de argumenten of slash.
In de aanvraag http://contoso.com:8080/article.aspx?id=123&title=fabrikamis article.aspxde url_path waarde bijvoorbeeld .
Azure Front Door ondersteunt dynamische opname van URL-pad met {url_path:seg#} servervariabele en converteert HET URL-pad naar kleine letters of hoofdletters met {url_path.tolower} of {url_path.toupper}. Zie Servervariabeleindeling en Servervariabelen voor meer informatie.
Gebruik aanvraagpadvoorwaarde om toegang te krijgen tot deze servervariabele in een overeenkomstvoorwaarde.

Indeling van servervariabele

Wanneer u met regelsetacties werkt, geeft u servervariabelen op met behulp van de volgende indelingen:

  • {variable}: Neem de volledige servervariabele op. Als het IP-adres van de client bijvoorbeeld is111.222.333.444, wordt het {client_ip} token geĆ«valueerd.111.222.333.444

  • {variable:offset}: Neem de servervariabele op na een specifieke offset tot het einde van de variabele. De offset is gebaseerd op nul. Als het IP-adres van de client bijvoorbeeld is111.222.333.444, wordt het {client_ip:3} token geĆ«valueerd..222.333.444

  • {variable:offset:length}: Neem de servervariabele op na een specifieke offset, tot aan de opgegeven lengte. De offset is gebaseerd op nul. Bijvoorbeeld wanneer de variabele var 'AppId=01f592979c584d0f9d679db3e66a3e5e' is,

    • Verschuivingen binnen bereik, geen lengtes: {var:0} = AppId=01f592979c584d0f9d679db3e66a3e5e, , {var:6} = 01f592979c584d0f9d679db3e66a3e5e{var:-8} = e66a3e5e
    • Verschuivingen buiten het bereik, geen lengtes: {var:-128} = AppId=01f592979c584d0f9d679db3e66a3e5e, {var:128} = null
    • Verschuivingen en lengten binnen bereik: {var:0:5} = AppId, , {var:7:7} = 1f59297{var:7:-7} = 1f592979c584d0f9d679db3e
    • Lengte nul: {var:0:0} = null, {var:4:0} = null
    • Verschuivingen binnen bereik en lengte buiten bereik: {var:0:100} = AppId=01f592979c584d0f9d679db3e66a3e5e, , {var:5:100}=01f592979c584d0f9d679db3e66a3e5e = {var:0:-48} = null, {var:4:-48} = null
  • {url_path:seg#}: gebruikers toestaan het gewenste URL-padsegment vast te leggen en te gebruiken in URL-omleiding, URL-herschrijven of zinvolle actie. De gebruiker kan ook meerdere segmenten vastleggen met dezelfde stijl als het vastleggen {url_path:seg1:3}van subtekenreeksen. Voor een bronpatroon /id/12345/default en een URL-herschrijfdoel /{url_path:seg1}/home, is /12345/homehet verwachte URL-pad na herschrijven bijvoorbeeld . Voor een opname met meerdere segmenten, wanneer het bronpatroon is /id/12345/default/location/test, resulteert een URL-herschrijfbestemming /{url_path:seg1:3}/home in /12345/default/location/home. Segmentopname omvat het locatiepad, dus als de route is /match/*, komt segment 0 overeen.

    Verschuiving komt overeen met de index van het beginsegment en de lengte verwijst naar het aantal segmenten dat moet worden vastgelegd, inclusief de segmenten op index = offset.

    Ervan uitgaande dat offset en lengte positief zijn, is de volgende logica van toepassing:

    • Als de lengte niet is opgenomen, legt u het segment vast bij index = offset.
    • Wanneer de lengte is opgenomen, legt u segmenten vast van index = offset tot index = offset + lengte.

    De volgende speciale gevallen worden ook afgehandeld:

    • Als verschuiving negatief is, telt u achteruit vanaf het einde van het pad om het beginsegment op te halen.
    • Als verschuiving een negatieve waarde is die groter is dan of gelijk is aan het aantal segmenten, stelt u in op 0.
    • Als de verschuiving groter is dan het aantal segmenten, is het resultaat leeg.
    • Als de lengte 0 is, retourneert u het enkelvoudige segment dat is opgegeven met offset
    • Als lengte negatief is, behandelt u deze als een tweede offset en berekent u achteruit vanaf het einde van het pad. Als de waarde kleiner is dan offset, resulteert deze in een lege tekenreeks.
    • Als de lengte groter is dan het aantal segmenten, geeft u als resultaat wat in het pad blijft.
  • {url_path.tolower}/{url_path.toupper}: Converteer het URL-pad naar kleine letters of hoofdletters. Bijvoorbeeld een bestemming {url_path.tolower} in URL herschrijven/omleiden voor /lowercase/ABcDXyZ/EXAMPLE resultaten in /lowercase/abcdxyz/example. Een bestemming {url_path.toupper} in URL herschrijven/omleiden voor /ABcDXyZ/example resultaten in /ABCDXYZ/EXAMPLE.

Ondersteunde acties voor regelset

Servervariabelen worden ondersteund voor de volgende regelsetacties:

Volgende stappen