HTTP-fejlécek és URL-címek átírása az Application Gateway használatával

Az Application Gateway lehetővé teszi a kijelölt tartalom újraírását a kérelmekben és a válaszokban. Ezzel a funkcióval lefordíthatja az URL-címeket, a lekérdezési sztring paramétereit, valamint módosíthatja a kérések és válaszok fejlécét. Feltételeket is hozzáadhat, hogy az URL-cím vagy a megadott fejlécek csak bizonyos feltételek teljesülése esetén legyenek újraírva. Ezek a feltételek a kérelem és a válasz információin alapulnak.

A HTTP-fejléc- és URL-átírási funkciók csak az Application Gateway v2 termékváltozatához érhetők el.

Kérelem- és válaszfejlécek

Az Application Gateway lehetővé teszi HTTP-kérések és válaszfejlécek hozzáadását, eltávolítását vagy frissítését, miközben a kérés- és válaszcsomagok az ügyfél és a háttérkészletek között mozognak. A HTTP-fejlécek lehetővé teszik, hogy az ügyfél és a kiszolgáló további információkat adjon át egy kéréssel vagy válaszsal. A fejlécek újraírásával fontos feladatokat hajthat végre, például:

  • Biztonsági fejlécmezők, például HSTS és X-XSS-Protection hozzáadása
  • A bizalmas információkat felfedő válaszfejlécmezők eltávolítása
  • Portadatok eltávolítása az X-Forwarded-For fejlécekből

A kérések és válaszok összes fejlécét átírhatja, kivéve a Connection és Upgrade fejléceket. Az Application Gateway használatával egyéni fejléceket is létrehozhat, és hozzáadhatja őket az azon keresztül irányított kérésekhez és válaszokhoz. Ha tudni szeretné, hogyan írhatja át a kérés- és válaszfejléceket az Application Gateway használatával az Azure Portal használatával, tekintse meg itt.

A kérelem- és válaszcsomagok fejléceit bemutató diagram.

URL-elérési út és lekérdezési sztring

Az Application Gateway URL-átírási funkciójával a következőket teheti:

  • Írja át a kérés URL-címének hosztnevét, útvonalát és lekérdezési karakterláncát.

  • Válassza ki, hogy egy figyelőre irányuló összes kérés URL-címét át szeretné írni, vagy csak azokat a kéréseket, amelyek megfelelnek a megadott feltételeknek. Ezek a feltételek a kérelem tulajdonságain (kérelemfejlécen és kiszolgálóváltozókon) alapulnak.

  • Válassza ki a kérés átirányítását (válassza ki a háttérkészletet) az eredeti VAGY az újraírt URL-cím alapján

Ha tudni szeretné, hogyan írhatja át az URL-címet az Application Gateway használatával az Azure Portal használatával, tekintse meg itt.

Az URL-címek Application Gatewayrel való újraírásának folyamatát leíró diagram.

Átírások ismertetése az Application Gatewayben

Az átírási csoport egy útválasztási szabály, feltétel és művelet gyűjteménye.

  • Útválasztási szabály társítás kérése: Az átírási konfiguráció az útválasztási szabályon keresztül társítja a forrásfigyelőt. Ha alapszintű útválasztási szabályt használ, az újraírási konfiguráció a figyelőhöz kapcsolódik, és globális újraírásként működik. Elérésiút-alapú útválasztási szabály használatakor az URL-útvonaltérképnek megfelelően kell definiálnia az újraírási konfigurációt. Az utóbbi esetben csak a hely adott útvonalterületére vonatkozik. Egy átírási csoportot több útválasztási szabályra is alkalmazhat, de az útválasztási szabályhoz csak egy újraírás társítható.

  • Feltétel újraírása: Ez a konfiguráció nem kötelező. A megadott feltételek alapján az Application Gateway kiértékeli a HTTP(S) kéréseinek és válaszainak tartalmát. A következő "újraírási művelet" akkor következik be, ha a HTTP(S) kérés vagy válasz megfelel ennek a feltételnek. Ha egynél több feltételt társít egy művelethez, a művelet csak akkor történik meg, ha az összes feltétel teljesül. Más szóval ez egy logikai ÉS művelet. Az átírási feltételek használatával kiértékelheti a HTTP(S) kérések és válaszok tartalmát. Ez az opcionális konfiguráció lehetővé teszi, hogy csak egy vagy több feltétel teljesülése esetén végezzen újraírást. Az Application Gateway az alábbi típusú változókat használja a kérések és válaszok tartalmának kiértékeléséhez:

    A feltétel kereséséhez az alábbi típusokat választhatja ki:

    A feltétel lehetővé teszi annak kiértékelését, hogy egy adott fejléc vagy változó létezik-e az értékük szövegen vagy Regex-mintán keresztüli egyeztetésével. Speciális átírási konfigurációk esetén az átírási művelet alatt rögzítheti a fejléc vagy a kiszolgáló változójának értékét is. További információ a mintáról és a rögzítésről.

  • Újraírási művelet: Az átírási műveletkészlet lehetővé teszi az élőfejek (kérés vagy válasz) vagy az URL-összetevők újraírását.

    Egy művelet a következő értéktípusokkal vagy azok kombinációival rendelkezhet:

    • Szöveg.
    • Kérelemfejléc értéke – A rögzített kérelemfejléc értékének használatához adja meg a szintaxist {http_req_headerName}.
    • Válaszfejléc értéke – Ha egy rögzített válaszfejléc értékét szeretné használni az előző feltételből, adja meg a szintaxist {http_resp_headerName}. Az Átírási művelet blokk támogatja a Set-Cookie fejléc "Header Value Matcher" mezőjét is. Ez az opcionális mező lehetővé teszi egy adott fejléc értékének egyeztetését és rögzítését, ha több Set-Cookie azonos nevű fejléc létezik. Az adott cookie rögzített értékének módosításához használhatja a {capt_header_value_matcher}következőt: . További információ a műveletkészlet alatti rögzítésről.
    • Kiszolgálóváltozó – Kiszolgálóváltozó használatához adja meg a szintaxist.{var_serverVariable} Támogatott kiszolgálóváltozók listája.

Feljegyzés

A(z) {capt_header_value_matcher} fejlécérték-egyeztetési mező használata jelenleg nem támogatott a portálon. Ezért ha ezt a mezőt használja, egy nem portálos metódust kell használnia a PUT műveletekhez.

Ha egy műveletet használ egy URL-cím újraírásához, a következő műveletek támogatottak:

  • URL-elérési út: Az elérési útként beállított új érték.
  • URL-lekérdezési sztring: Az az új érték, amelyre a lekérdezési sztringet újra kell írni.
  • Útvonaltérkép újraértékelése: Adja meg, hogy az URL-cím útvonaltérképét újra kell-e értékelni az újraírás után. Ha nem jelöli be ezt a beállítást, a rendszer az eredeti URL-elérési utat használja, hogy illessze az útvonalmintázathoz az URL-útvonaltérképen. Ha ezt a beállítást igaz értékre állítja, a rendszer újra kiértékeli az URL-elérési út leképezését, hogy ellenőrizze az újraírt elérési úttal való egyezést. A kapcsoló engedélyezése segít a kérés átirányításában egy másik háttérkészlethez az újraírás után.

Mintamegfeleltetés és rögzítés

Az Application Gateway támogatja a minták egyeztetését és rögzítését a Feltétel és művelet területen. A Művelet csoportban csak egy adott fejléchez támogatja a minták egyeztetését és rögzítését.

Mintaegyezés

Az Application Gateway normál kifejezéseket használ a mintaegyeztetéshez. Használjon Reguláris kifejezés 2 (RE2) kompatibilis kifejezéseket a mintamegfeleltetési szintaxis írásakor.

A Feltétel és a Művelet területen is használhat mintaegyezést.

  • Feltétel: Ezzel a beállítással egyeztesse a fejléc vagy a kiszolgálóváltozó értékeit. A "Feltételek" területen lévő minta egyeztetéséhez használja a "minta" tulajdonságot.
  • Művelet: A Műveletkészlet alatti mintaegyezés csak a válaszfejléc számára Set-Cookie elérhető. Ha egy művelethez tartozó Set-Cookie mintát szeretne egyezni, használja a HeaderValueMatcher tulajdonságot. Ha rögzítésre kerül, az értéke {capt_header_value_matcher} formájában használható. Mivel több Set-Cookie fejléc is lehet, a mintaegyezés lehetővé teszi egy adott cookie keresését. A felhasználói ügynök egy bizonyos verziójához például át szeretné írni a set-cookie válaszfejlécet úgy, hogy az cookie2 legyen max-age=3600 (egy óra). Ebben az esetben a
    • Feltétel – Típus: Kérelem fejléce, Fejléc neve: felhasználó-ügynök, Megfeleltetendő minta: *2.0
    • Művelet – Átírás típusa: Válaszfejléc, Művelet típusa: Beállítás, Fejléc neve: Set-Cookie, Fejléc érték egyező: cookie2=(.*), Fejléc érték: cookie2={capt_header_value_matcher_1};Max-Age=3600

Feljegyzés

Ha az Application Gateway webalkalmazási tűzfalát (WAF) a 3.1-es vagy korábbi alapvető szabálykészlettel futtatja, problémákat tapasztalhat a Perl-kompatibilis reguláris kifejezések (PCRE) használatakor lookahead és lookbehind (negatív vagy pozitív) állítások esetén.

Rögzítés szintaxisa

Mintákkal rögzíthet egy részszűkítést későbbi használatra. Zárójelek elhelyezése egy alminta körül a regex definícióban. Az első zárójelpár az alsztringet 1-ben, a másodikat a 2-ben tárolja, és így tovább. Annyi zárójelet használhat, amennyit csak szeretne. A Perl több számozott változót határoz meg a rögzített sztringek megjelenítéséhez. Ebben a Perl-programozási útmutatóban találhat néhány példát.

  • (\d)(\d) # Két számjegy egyeztetése, rögzítése az 1. és a 2. csoportba
  • (\d+) # Egy vagy több számjegy egyeztetése, mind rögzítése az 1. csoportba
  • (\d)+ # Egy számjegy egy vagy több alkalommal való egyeztetése, az utolsó rögzítése az 1. csoportba

A rögzítés után a műveletkészlet értékében a következő formátumban használhatja őket:

  • A kérelemfejléc rögzítéséhez a(z) {http_req_headerName_groupNumber} parancsot kell használnia. Például: {http_req_User-Agent_1} vagy {http_req_User-Agent_2}
  • Válaszfej rögzítéséhez a(z) {http_resp_headerName_groupNumber} parancsot kell használnia. Például: {http_resp_Location_1} vagy {http_resp_Location_2}. Míg a "HeaderValueMatcher" tulajdonságon keresztül rögzített Set-Cookie válaszfejléchez {capt_header_value_matcher_groupNumber} kell használnia. Például: {capt_header_value_matcher_1} vagy {capt_header_value_matcher_2}.
  • Kiszolgálóváltozók esetén a(z) {var_serverVariableName_groupNumber} függvényt kell használnia. Például: {var_uri_path_1} vagy {var_uri_path_2}

Feljegyzés

  • A mintán belüli mintázat elején és végén a / használata nem adható meg az értékek illesztéséhez. A (\d)(\d) például két számjegynek felel meg. A /(\d)(\d)/ nem egyezik két számjegyből.
  • A feltételváltozó esetének meg kell egyeznie a rögzítési változó esetével. Ha például a feltételváltozó User-Agent, akkor a rögzítési változónak is User-Agent-nek kell lennie (azaz {http_req_User-Agent_2}). Ha a feltételváltozó felhasználói ügynökként van definiálva, a rögzítési változónak is a felhasználói ügynökhöz kell tartoznia (azaz {http_req_user-agent_2}).
  • Ha a teljes értéket szeretné használni, ne említse meg a számot. Egyszerűen használja a(z) {http_req_headerName} formátumot stb. a GroupNumber nélkül.

Kiszolgálóváltozók

Az Application Gateway kiszolgálóváltozókkal tárolja a kiszolgálóval, az ügyféllel való kapcsolattal és a kapcsolatra vonatkozó aktuális kéréssel kapcsolatos hasznos információkat. A tárolt információk közé tartozik például az ügyfél IP-címe és a webböngésző típusa. A kiszolgálóváltozók dinamikusan változnak, például új lap betöltésekor vagy űrlap közzétételekor. Ezekkel a változókkal kiértékelheti az újraírási feltételeket és átírhatja a fejléceket. Ha a kiszolgálóváltozók értékét szeretné használni az élőfejek átírásához, meg kell adnia ezeket a változókat a(z) {var_serverVariableName} szintaxisban.

Az Application Gateway a következő kiszolgálóváltozókat támogatja:

Változó neve Leírás
add_x_forwarded_for_proxy Az X-Forwarded-For ügyfélkérelmet tartalmazó fejlécmező a client_ip változóval (lásd a táblázat későbbi részében) hozzáfűzve IP1, IP2, IP3 stb. formátumban. Ha az X-Forwarded-For mező nem szerepel az ügyfélkérés fejlécében, a add_x_forwarded_for_proxy változó egyenlő a $client_ip változóval. Ez a változó akkor hasznos, ha az Application Gateway által beállított X-Forwarded-For fejlécet szeretné újraírni, hogy a fejléc csak az IP-címet tartalmazza a portinformációk nélkül.
támogatott titkosítások Az ügyfél által támogatott titkosítások listája.
használt titkosítások A létrehozott TLS-kapcsolathoz használt titkosítási sztring.
client_ip Annak az ügyfélnek az IP-címe, ahonnan az Application Gateway megkapta a kérést. Ha fordított proxy van az Application Gateway és a kiinduló ügyfél előtt, client_ip a fordított proxy IP-címét adja vissza.
ügyfélport Az ügyfélport.
client_tcp_rtt Információk az ügyfél TCP-kapcsolatáról. Az TCP_INFO szoftvercsatornát támogató rendszereken érhető el.
ügyfél_felhasználó HTTP-hitelesítés használata esetén a hitelesítéshez megadott felhasználónév.
állomás Ebben az elsőbbségi sorrendben: a kérelemsor állomásneve, a Gazdagép kérelem fejlécmezőjének állomásneve vagy a kérésnek megfelelő kiszolgálónév. Példa: A kérelemben http://contoso.com:8080/article.aspx?id=123&title=fabrikama gazdagép értéke contoso.com
cookie_name A név cookie.
HTTP-módszer Az URL-kérés létrehozásához használt módszer. Például GET vagy POST.
HTTP státusz A munkamenet állapota. Például 200, 400 vagy 403.
http_version A kérelem protokollja. Általában HTTP/1.0, HTTP/1.1 vagy HTTP/2.0.
query_string A kért URL-címet követő változó-érték párok ? listája. Példa: A kérelemben http://contoso.com:8080/article.aspx?id=123&title=fabrikamquery_string érték id=123&title=fabrikam
received_bytes A kérelem hossza (beleértve a kérelemsort, az élőfejet és a kérelem törzsét).
lekérdezés_kérés A kérelemsor argumentumai.
kérelem séma A kérelemséma: http vagy https.
request_uri A teljes eredeti kérelem URI-ja (argumentumokkal). Példa: a kérelemben http://contoso.com:8080/article.aspx?id=123&title=fabrikam*request_uri érték /article.aspx?id=123&title=fabrikam
küldött_bájtok Az ügyfélnek küldött bájtok száma.
szerver_port A kérést elfogadó kiszolgáló portja.
SSL kapcsolat protokoll A létrehozott TLS-kapcsolat protokollja.
SSL engedélyezve "Be", ha a kapcsolat TLS módban működik. Ellenkező esetben egy üres sztring.
uri_path A webügyfél által elérni kívánt gazdagép adott erőforrását azonosítja. A változó a módosítás előtt az eredeti URL-címre hivatkozik. Ez a kérelem URI-jának argumentumok nélküli része. A kérelemben http://contoso.com:8080/article.aspx?id=123&title=fabrikampéldául a uri_path érték./article.aspx

A kölcsönös hitelesítési kiszolgáló változói

Az Application Gateway a következő kiszolgálóváltozókat támogatja a kölcsönös hitelesítési forgatókönyvekhez. Ezeket a kiszolgálóváltozókat ugyanúgy használja, mint más kiszolgálóváltozókat.

Változó neve Leírás
kliens tanúsítvány Az ügyféltanúsítvány PEM formátumban egy létrehozott SSL-kapcsolathoz.
ügyfél_tanúsítvány_lejárati_dátum Az ügyféltanúsítvány záró dátuma.
klienstanúsítvány_ujjlenyomat Az ügyféltanúsítvány SHA1 ujjlenyomata egy létrehozott SSL-kapcsolathoz.
kliens_tanúsítvány_kibocsátó A létrehozott SSL-kapcsolat ügyféltanúsítványának "kiállító DN" sztringje.
kliens_tanúsítvány_sorszám A létrehozott SSL-kapcsolat ügyféltanúsítványának sorozatszáma.
ügyfél_tanúsítvány_kezdete_dátum Az ügyféltanúsítvány kezdő dátuma.
klienstanúsítvány_alany A létrehozott SSL-kapcsolat ügyféltanúsítványának "tulajdonos DN" sztringje.
ügyfél_tanúsítvány_ellenőrzés Az ügyféltanúsítvány-ellenőrzés eredménye: SUCCESS, FAILED:<reason> vagy NONE , ha egy tanúsítvány nem volt jelen.

A fejléc újraírásának gyakori forgatókönyvei

Portadatok eltávolítása az X-Forwarded-For fejlécből

Az Application Gateway minden kérésbe beszúr egy X-Forwarded-For fejlécet, mielőtt a kéréseket a háttérrendszerbe továbbítja. Ez a fejléc az IP-portok vesszővel tagolt listája. Előfordulhatnak olyan helyzetek, amikor a háttérkiszolgálóknak csak az IP-címeket tartalmazó fejlécekre van szükségük. A fejléc átírásával eltávolíthatja a portinformációkat az X-Forwarded-For fejlécből. Ennek egyik módja, ha a fejlécet a add_x_forwarded_for_proxy kiszolgálóváltozóra állítja. Másik lehetőségként használhatja a client_ip változót is:

Képernyőkép a port eltávolítása műveletről.

Egy beépített proxy IP-címének eltávolítása háttérbeli tűzfal X-Forwarded-For forrásfunkciójával való használatra

Egyes külső tűzfalak, más néven hálózati virtuális berendezések (NVA-k) úgy határozzák meg a forrás IP-címet, hogy a bejövő X-Forwarded-For fejlécet használják a csomag forrás IP-címe helyett, ami egyébként az Application Gateway IP-címét tükrözné. Az NVA-k sok esetben csak a legújabb IP-címet jelenítik meg a fejlécben.

Ha egy kérés több proxyn (például Ügyfél – Azure Front Door –>> Application Gateway –> NVA) halad át, a fejlécben található X-Forwarded-For legújabb IP-cím az eredeti ügyfél IP-címe helyett az Azure Front Doort jelölheti. Az ügyfél IP-címének megőrzéséhez konfigurálhat egy Application Gateway átírási szabályt, hogy a X-Forwarded-For fejléchez meghatározza a http_req_X-Forwarded-For kiszolgáló változót. Ez a konfiguráció megakadályozza, hogy az Application Gateway hozzáfűzze az Azure Front Door VAGY más köztes fordított proxyk IP-címét az alábbi képernyőképen látható módon:

Képernyőkép a soros proxy IP-címének XFF-fejlécből való eltávolításáról.

Ez rögzíti a bejövő X-Forwarded-For fejlécet, amely az ügyfél eredeti IP-címe lesz, és továbbítja azt as-is ahelyett, hogy hozzáadja az AFD vagy a proxy IP-címét a fejléchez, így az NVA megjelenítheti és kiértékelheti az eredeti ügyfél IP-címét.

Átirányítási URL-cím módosítása

Az átirányítási URL-cím módosítása bizonyos körülmények között hasznos lehet. Előfordulhat például, hogy eredetileg átirányítja az ügyfeleket egy olyan útvonalra, mint a "/blog", de most a tartalomstruktúra változása miatt a "/updates" címre szeretné elküldeni őket.

Figyelmeztetés

Előfordulhat, hogy módosítania kell egy átirányítási URL-címet, amikor az Application Gatewayt úgy konfigurálja, hogy felülbírálja a gazdagépnevet a háttérrendszer felé. Ebben a konfigurációban a háttérrendszer eltérő gazdagépnevet lát, mint a böngésző. Az átirányítás nem a megfelelő gazdagépnevet használja. Ez a konfiguráció nem ajánlott.

Az ilyen konfiguráció korlátairól és következményeiről további információt a fordított proxy és a háttérbeli webalkalmazás közötti eredeti HTTP-gazdagépnév megőrzése című témakörben talál. Az App Service ajánlott beállítását az "Egyéni tartomány (ajánlott)" című témakörben találhatja meg az App Service és az Application Gateway konfigurálása című témakörben. A válasz hely fejléce újraírását, a következő példában leírtak szerint, csak átmeneti megoldásnak kell tekinteni, amely nem foglalkozik az alapproblémával.

Amikor az app service átirányítási választ küld, ugyanazt a gazdagépnevet használja a válasz helyfejlécében, mint az application gatewaytől kapott kérésben. Az ügyfél tehát közvetlenül a kérést contoso.azurewebsites.net/path2 intézi az Application Gateway (contoso.com/path2) használata helyett. Az application gateway megkerülése nem kívánatos.

Ezt a problémát úgy oldhatja meg, hogy a hely fejlécében lévő állomásnevet az Application Gateway tartománynevére állítja.

A gazdagépnév cseréjének lépései a következők:

  1. Hozzon létre egy újraírási szabályt egy feltétellel, amely ellenőrzi, hogy a válaszban szereplő helyfejléc tartalmaz-e azurewebsites.net. Adja meg a következő mintát: "(https?)://. azurewebsites.net(.).

  2. Műveletet hajthat végre a hely fejlécének újraírásához, hogy az tartalmazza az Application Gateway gazdagépnevét. Adja meg {http_resp_Location_1}://contoso.com{http_resp_Location_2} fejlécértékként. Másik lehetőségként a kiszolgálóváltozóval host is beállíthatja a gazdagép nevét az eredeti kérésnek megfelelően.

    Képernyőkép a hely fejlécének módosításáról.

Biztonsági HTTP-fejlécek implementálása a biztonsági rések elkerülése érdekében

Számos biztonsági rést kijavíthat, ha implementálja a szükséges fejléceket az alkalmazás válaszában. Ezek a biztonsági fejlécek közé tartozik az X-XSS-Protection, a Strict-Transport-Security és a Content-Security-Policy. Az Application Gateway használatával beállíthatja ezeket a fejléceket az összes válaszhoz.

Biztonsági fejléc képernyőképe.

Nem kívánt fejlécek törlése

Előfordulhat, hogy el szeretné távolítani azokat a fejléceket, amelyek bizalmas információkat fednek fel a HTTP-válaszból. Előfordulhat például, hogy el szeretné távolítani az olyan információkat, mint a háttérkiszolgáló neve, az operációs rendszer vagy a tár adatai. Az Application Gateway használatával eltávolíthatja az alábbi fejléceket:

Képernyőkép a fejléc törlése műveletről.

Nem hozhat létre újraírási szabályt a gazdagép fejlécének törlésére. Ha olyan újraírási szabályt próbál létrehozni, amelynek művelettípusa törlésre van állítva, és a fejléc a gazdagépre van állítva, az hibát eredményez.

Élőfej jelenlétének ellenőrzése

Kiértékelhet egy HTTP-kérés vagy válaszfejlécet egy fejléc- vagy kiszolgálóváltozó jelenlétére vonatkozóan. Ez a kiértékelés akkor hasznos, ha csak egy adott fejléc esetén szeretne újraírni egy fejlécet.

Képernyőkép a fejlécművelet ellenőrzéséről.

Az URL-átírás gyakori forgatókönyvei

Paraméteralapú elérési út kiválasztása

Ha olyan forgatókönyveket szeretne megvalósítani, amelyekben a háttérkészletet egy fejléc, az URL-cím egy része vagy a lekérdezési sztring értéke alapján szeretné kiválasztani, használja az URL-átírási képesség és az útvonalalapú útválasztás kombinációját.

Hozzon létre egy újraírási csoportot egy olyan feltétellel, amely ellenőrzi egy adott paramétert (lekérdezési sztring, fejléc stb.), majd végrehajt egy műveletet, amelyben módosítja az URL-elérési utat (győződjön meg arról, hogy engedélyezve van az elérési út újraértékelése ). Az újraírási halmaz társítása útvonalalapú szabályhoz. Az elérésiút-alapú szabálynak ugyanazokat az URL-címeket kell tartalmaznia, amelyek az átírási csoportban és a hozzájuk tartozó háttérkészletben vannak megadva.

Az újraírási készlet lehetővé teszi, hogy egy adott paramétert megkeressenek, és új útvonalat rendeljenek hozzá, az útvonal alapú szabály pedig lehetővé teszi, hogy ezekhez az útvonalakhoz háttér poolokat rendeljenek. Ha engedélyezve van az "Útvonaltérkép újraértékelése" lehetőség, a forgalom az átírási csoportban megadott útvonalon alapul.

A lekérdezési sztringeket használó használati esethez lásd : Forgalom átirányítása paraméteralapú útvonalválasztással a portálon.

A lekérdezési sztring paramétereinek újraírása az URL-cím alapján

Vegyünk egy olyan vásárlási webhelyet, ahol a felhasználó által látható hivatkozás egyszerű és olvasható, de a háttérkiszolgálónak szüksége van a lekérdezési sztring paramétereire a megfelelő tartalom megjelenítéséhez.

Ebben az esetben az Application Gateway rögzítheti az URL-ből származó paramétereket, és hozzáadhat lekérdezési sztringkulcs-érték párokat ezekből a paraméterekből az URL-ben. Ha például a felhasználó át szeretné írni https://www.contoso.com/fashion/shirtshttps://www.contoso.com/buy.aspx?category=fashion&product=shirts, ezt a célt az alábbi URL-átírási konfigurációval érheti el.

Feltétel – Ha a kiszolgálóváltozó uri_path megegyezik a mintával /(.+)/(.+)

URL-átírási forgatókönyv 2–1.

Művelet – AZ URL-elérési út buy.aspx beállítása és a sztring lekérdezése category={var_uri_path_1}&product={var_uri_path_2}

URL-átírási forgatókönyv 2–2.

A korábban ismertetett forgatókönyv eléréséhez részletes útmutatót az URL-cím újraírása az Application Gateway használatával az Azure Portal használatával című témakörben talál.

A konfiguráció gyakori buktatóinak újraírása

  • Az alapszintű kérés-útválasztási szabályok esetében nem engedélyezheti az "Útvonaltérkép újraértékelése" lehetőséget. Ez a korlátozás megakadályozza az alapszintű útválasztási szabály végtelen kiértékelési ciklusát.

  • Az útvonalalapú útválasztási szabályokhoz legalább egy feltételes átírási szabályra vagy egy újraírási szabályra van szükség anélkül, hogy engedélyezve van az útvonaltérkép újraértékelése. Ez a követelmény megakadályozza az elérési útválasztási szabály végtelen kiértékelési ciklusát.

  • Ha a rendszer dinamikusan hoz létre hurkot az ügyfélbemenetek alapján, a bejövő kérelmek 500 hibakóddal fejeződnek be. Ebben a forgatókönyvben az Application Gateway továbbra is kiszolgál más kéréseket anélkül, hogy csökkenés lenne.

URL-átírás vagy gazdagépfejléc átírása webalkalmazási tűzfallal (WAF_v2 termékváltozat)

Ha az URL-átírást vagy a gazdagépfejléc újraírását konfigurálja, a WAF-értékelés a kérelem fejlécének vagy URL-paramétereinek módosítása után történik (az újraírás után). Ha eltávolítja az URL-átírást vagy a gazdagép fejlécének újraírását az Application Gatewayen, a WAF-kiértékelés a fejléc újraírása (előzetes átírása) előtt történik. Ez a folyamat biztosítja, hogy a WAF-szabályok érvényesüljenek a háttérkiszolgáló által kapott végső kérésre.

Tegyük fel például, hogy a fejléchez a következő fejléc-átírási szabály tartozik – ha a fejléc értéke egyenlő "Accept" : "text/html", akkor írja át az értéket a következőre."Accept""text/html""image/png"

Ha csak a fejléc újraírása van konfigurálva, a WAF-értékelés a következőn történik "Accept" : "text/html". Amikor azonban konfigurálja az URL-átírást vagy a gazdagépfejléc újraírását, a WAF-értékelés a "Accept" : "image/png"-on történik.

URL-átírás és URL-átirányítás

URL-átírás esetén az Application Gateway újraírja az URL-címet, mielőtt elküldi a kérést a háttérrendszernek. Ez a művelet nem módosítja, hogy a felhasználók mit látnak a böngészőben, mert a módosítások el vannak rejtve a felhasználó elől.

URL-átirányítás esetén az Application Gateway átirányítási választ küld az ügyfélnek az új URL-címmel. A válaszhoz az ügyfélnek újra kell küldenie a kérését az átirányításban megadott új URL-címre. A böngészőben látható URL-cím frissül az új URL-címre.

Átírás és átirányítás.

Korlátozások

  • Az átírások nem támogatottak, ha az Application Gateway úgy van konfigurálva, hogy átirányítsa a kéréseket, vagy egyéni hibaoldalt jelenítsen meg.
  • A kérelemfejlécek neve tartalmazhat alfanumerikus karaktereket és kötőjeleket. A rendszer elveti a más karaktereket tartalmazó fejlécneveket, amikor a rendszer kérést küld a háttérbeli célnak.
  • A válaszfejlécek nevei az RFC 7230-ban meghatározott alfanumerikus karaktereket és szimbólumokat tartalmazhatnak.
  • A fejléceket nem lehet újraírniX-Original-HostConnectionupgrade.
  • Az átírások nem támogatottak a közvetlenül az Application Gatewayről generált 4xx és 5xx válaszok esetében.

Következő lépések