Az Azure Front Door Szabálykészlet kiszolgálóváltozói
A szabálykészlet-kiszolgáló változói hozzáférést biztosítanak a kérés strukturált információihoz a szabálykészletek használatakor.
A szabálykészletek egyeztetési feltételeinek használatakor a kiszolgálóváltozók egyeztetési feltételekként érhetők el, így meghatározott tulajdonságokkal rendelkező kéréseket azonosíthat.
Szabálykészlet-műveletek használatakor kiszolgálóváltozókkal dinamikusan módosíthatja a kérés- és válaszfejléceket, és újraírhatja az URL-címeket, elérési utakat és lekérdezési sztringeket, például új oldal betöltésekor vagy űrlapok közzétételekor.
Feljegyzés
A kiszolgálóváltozók az Azure Front Door Standard és a Premium szinttel érhetők el.
Támogatott változók
Változó neve | Leírás |
---|---|
socket_ip |
Az Azure Front Door edge-hez való közvetlen kapcsolat IP-címe. Ha az ügyfél HTTP-proxyt vagy terheléselosztót használt a kérés elküldéséhez, az érték socket_ip a proxy vagy a terheléselosztó IP-címe.Ha egyező feltételben szeretné elérni ezt a kiszolgálóváltozót, használja a Szoftvercsatorna-címet. |
client_ip |
Az eredeti kérést küldő ügyfél IP-címe. Ha volt fejléc X-Forwarded-For a kérelemben, a rendszer az ügyfél IP-címét választja ki a fejlécből.A kiszolgálóváltozó egyeztetési feltételben való eléréséhez használja a távoli címet , és konfigurálja az operátortIP-egyezésre vagy ip-cím nem egyezésre. |
client_port |
A kérést küldő ügyfél IP-portja. Ha egyező feltételben szeretné elérni ezt a kiszolgálóváltozót, használja az ügyfélportot. |
hostname |
Az ügyféltől érkező kérés gazdagépneve. Ha egyező feltételben szeretné elérni ezt a kiszolgálóváltozót, használja a gazdagép nevét. |
geo_country |
A kérelmező országát/származási régióját jelzi az ország/régió kódján keresztül. A kiszolgálóváltozó egyeztetési feltételben való eléréséhez használja a távoli címet, és konfigurálja az operátortgeoegyeztetésre vagy geo nem egyezésre. |
http_method |
Az URL-kéréshez használt módszer, például GET vagy POST .Ha egyező feltételben szeretné elérni ezt a kiszolgálóváltozót, használja a Kérés metódust. |
http_version |
A kérelem protokollja. Általában HTTP/1.0 , HTTP/1.1 vagy HTTP/2.0 .Ha egyező feltételben szeretné elérni ezt a kiszolgálóváltozót, használja a HTTP-verziót. |
query_string |
A kért URL-címet követő változó-érték párok ? listája.A kérelemben http://contoso.com:8080/article.aspx?id=123&title=fabrikam például az érték .query_string id=123&title=fabrikam Ha egyező feltételben szeretné elérni ezt a kiszolgálóváltozót, használja a Lekérdezés sztringet. |
request_scheme |
A kérelemséma: http vagy https .Ha egyező feltételben szeretné elérni ezt a kiszolgálóváltozót, használja a Request protokollt. |
request_uri |
A teljes eredeti kérelem URI-ja (argumentumokkal). A kérelemben http://contoso.com:8080/article.aspx?id=123&title=fabrikam például az érték .request_uri http://contoso.com:8080/article.aspx?id=123&title=fabrikam Ha egyező feltételben szeretné elérni ezt a kiszolgálóváltozót, használja a Kérelem URL-címét. |
ssl_protocol |
A létrehozott TLS-kapcsolat protokollja. A kiszolgálóváltozó egyeztetési feltételben való eléréséhez használjon SSL-protokollt. |
server_port |
A kérést elfogadó kiszolgáló portja. A kiszolgálóváltozó egyeztetési feltételben való eléréséhez használja a kiszolgálóportot. |
url_path |
A webügyfél által elérni kívánt gazdagép adott erőforrását azonosítja. Ez a kérelem URI része argumentumok vagy perjelek nélkül. A kérelemben http://contoso.com:8080/article.aspx?id=123&title=fabrikam például az érték .url_path article.aspx Az Azure Front Door támogatja az URL-elérési út dinamikus rögzítését kiszolgálóváltozóval {url_path:seg#} , és az URL-elérési utat kisbetűssé vagy nagybetűssé {url_path.tolower} {url_path.toupper} alakítja. További információ: Kiszolgálóváltozók formátuma és kiszolgálóváltozók. Ha egyező feltételben szeretné elérni ezt a kiszolgálóváltozót, használja a Kérelem elérési útja feltételt. |
Kiszolgálóváltozó formátuma
A szabálykészlet-műveletek használatakor a következő formátumok használatával adja meg a kiszolgálóváltozókat:
{variable}
: Adja meg a teljes kiszolgálóváltozót. Ha például az ügyfél IP-címe,111.222.333.444
akkor a{client_ip}
jogkivonat kiértékelése a következő lesz111.222.333.444
: .{variable:offset}
: Adja meg a kiszolgálóváltozót egy adott eltolás után, a változó végéig. Az eltolás nulla alapú. Ha például az ügyfél IP-címe,111.222.333.444
akkor a{client_ip:3}
jogkivonat kiértékelése a következő lesz.222.333.444
: .{variable:offset:length}
: Adja meg a kiszolgálóváltozót egy adott eltolás után, a megadott hosszig. Az eltolás nulla alapú. Ha például a var változó értéke "AppId=01f592979c584d0f9d679db3e66a3e5e",- Tartományon belüli eltolások, hosszok nélkül:
{var:0}
=AppId=01f592979c584d0f9d679db3e66a3e5e
, ,{var:6}
=01f592979c584d0f9d679db3e66a3e5e
{var:-8}
=e66a3e5e
- Tartományon kívüli eltolások, hosszok nélkül:
{var:-128}
=AppId=01f592979c584d0f9d679db3e66a3e5e
,{var:128}
= null - Eltolások és hosszok a tartományon belül:
{var:0:5}
=AppId
, ,{var:7:7}
=1f59297
{var:7:-7}
=1f592979c584d0f9d679db3e
- Nulla hosszúság:
{var:0:0}
= null,{var:4:0}
= null - A tartományon belüli eltolások és a tartományon kívüli hosszúságok:
{var:0:100}
AppId=01f592979c584d0f9d679db3e66a3e5e
= ,=01f592979c584d0f9d679db3e66a3e5e
={var:5:100}
,{var:0:-48}
= null,{var:4:-48}
= null
- Tartományon belüli eltolások, hosszok nélkül:
{url_path:seg#}
: Lehetővé teszi a felhasználók számára a kívánt URL-elérési útszakasz rögzítését és használatát az URL-átirányításban, az URL-átírásban vagy bármilyen értelmes műveletben. A felhasználó több szegmenst is rögzíthet ugyanazzal a stílussal, mint a substring capture{url_path:seg1:3}
. Például egy forrásminta/id/12345/default
és egy URL-cím átírása célhely/{url_path:seg1}/home
esetén az újraírás utáni várt URL-elérési út./12345/home
Többszegmenses rögzítés esetén, ha a forrásminta az/id/12345/default/location/test
, az URL-cím újraírása a célhelyet/{url_path:seg1:3}/home
/12345/default/location/home
eredményezi. A szegmensrögzítés tartalmazza a hely elérési útját, így ha az útvonal az, akkor a/match/*
0. szegmens egyezik.Az eltolás a kezdő szegmens indexének felel meg, a hossz pedig azt jelenti, hogy hány szegmenst kell rögzíteni, beleértve az index = eltolás értéket is.
Feltételezve, hogy az eltolás és a hossz pozitív, a következő logika érvényes:
- Ha nem tartalmazza a hosszt, rögzítse a szegmenst az index = eltolás értéken.
- A hossz belefoglalása esetén rögzítse az index szegmenseit = eltolás felfelé, amíg az index = eltolás + hossz.
A következő speciális eseteket is kezelik:
- Ha az eltolás negatív, az elérési út végétől visszafelé számolva szerezze be a kezdő szegmenst.
- Ha az eltolás negatív érték, amely nagyobb vagy egyenlő a szegmensek számával, állítsa 0 értékre.
- Ha az eltolás nagyobb, mint a szegmensek száma, az eredmény üres.
- Ha a hossz 0, az eltolás által megadott egyetlen szegmenst adja vissza
- Ha a hossz negatív, akkor kezelje második eltolásként, és számítsa ki az elérési út végétől visszafelé. Ha az érték kisebb, mint eltolás, üres sztringet eredményez.
- Ha a hossz nagyobb, mint a szegmensek száma, adja vissza az elérési úton maradó értéket.
{url_path.tolower}
/{url_path.toupper}
: Alakítsa át az URL-címet kis- vagy nagybetűssé. Például az URL-címben lévő cél{url_path.tolower}
átírása/átirányítása az eredményekhez/lowercase/ABcDXyZ/EXAMPLE
a következőben/lowercase/abcdxyz/example
: . Az URL-címben lévő cél{url_path.toupper}
átírása/átirányítása az eredményekhez/ABcDXyZ/example
a következőben/ABCDXYZ/EXAMPLE
: .
Támogatott szabálykészlet-műveletek
A kiszolgálóváltozók a következő szabálykészlet-műveletekben támogatottak:
- Lekérdezési sztring gyorsítótárazási viselkedése az útvonalkonfiguráció felülbírálásában
- Kérelem fejlécének módosítása
- Válaszfejléc módosítása
- URL-átirányítás
- URL-cím átírása