App Service-problémák elhárítása az Application Gatewayben
Megtudhatja, hogyan diagnosztizálhatja és háríthatja el azokat a problémákat, amelyek akkor fordulhatnak elő, amikor Azure-alkalmazás szolgáltatást háttérbeli célként használják Azure-alkalmazás Átjáróval.
Áttekintés
Ebből a cikkből megtudhatja, hogyan háríthatja el a következő problémákat az Architektúraközpontban részletesebben ismertetett módon: A fordított proxy és a háttérbeli webalkalmazás közötti eredeti HTTP-gazdagépnév megőrzése
- Helytelen abszolút URL-címek
- Helytelen átirányítási URL-címek
- az App Service URL-címe akkor jelenik meg a böngészőben, ha átirányítás történik
- példa erre: egy OIDC hitelesítési folyamat megszakadt egy helytelen gazdagépnévvel rendelkező átirányítás miatt; ez magában foglalja az App Service-hitelesítés és - engedélyezés használatát
- Hibás cookie-k
- A cookie-k nem propagálása a böngésző és az App Service között
- példa erre: az App Service ARRAffinity cookie-tartománya az app service-gazdagép nevére van állítva, és az eredeti gazdagép helyett a "example.azurewebsites.net" értékhez van kötve. Ennek eredményeképpen a munkamenet-affinitás megszakad.
A fenti tünetek kiváltó oka egy olyan beállítás, amely felülírja az Application Gateway által az App Service felé használt gazdagépnevet egy másik gazdagépnévre, ahogyan azt a böngésző is láthatja. A gazdagépnév gyakran felül van bírálva az alapértelmezett App Service "azurewebsites.net" tartományon.
Mintakonfiguráció
Ha a konfiguráció megfelel az alábbi két helyzet egyikének, a beállításra az ebben a cikkben található utasítások vonatkoznak:
- A háttércím gazdagépnevének kiválasztása engedélyezve van a HTTP-Gépház
- A megadott tartománynévvel való felülbírálás a böngészőkéréstől eltérő értékre van beállítva
Ok
Az App Service egy több-bérlős szolgáltatás, ezért a kérelem gazdagépfejlécével irányítja a kérést a megfelelő végpontra. Az App Services alapértelmezett tartományneve (*.azurewebsites.net (például contoso.azurewebsites.net) eltér az Application Gateway tartománynevétől (például contoso.com). Az App Service háttérrendszerből hiányzik az átirányítási URL-címek vagy a böngésző által látott tartományhoz igazodó cookie-k létrehozásához szükséges környezet.
Megoldás
Az éles környezetben ajánlott megoldás az Application Gateway és az App Service konfigurálása, hogy ne bírálja felül a gazdagép nevét. Kövesse az "Egyéni tartomány (ajánlott)" utasítást az App Service konfigurálása az Application Gateway használatával című témakörben
A cikkben leírt következmények felmérése után csak fontolja meg egy másik kerülő megoldás (például a Hely fejléc átírása) alkalmazását: A fordított proxy és a háttérbeli webalkalmazás közötti eredeti HTTP-gazdagépnév megőrzése. Ezek a következmények magukban foglalják a tartományhoz kötött cookie-k és a hely fejlécén kívüli abszolút URL-címek esetleges megszakadásának lehetőségét.
Megkerülő megoldás: a Hely fejléc újraírása
Figyelmeztetés:
Ez a konfiguráció korlátozásokkal rendelkezik. Javasoljuk, hogy tekintse át a különböző gazdagépnevek használatának következményeit az ügyfél és az Application Gateway, valamint az Application és az App Service között a háttérrendszerben. További információkért tekintse át az Architektúraközpontban található cikket: Az eredeti HTTP-gazdagépnév megőrzése a fordított proxy és a háttérbeli webalkalmazás között
Állítsa be a helyfejléc állomásnevét az Application Gateway tartománynevére. Ehhez hozzon létre egy újraírási szabályt egy feltétellel, amely kiértékeli, hogy a válasz helyfejléce tartalmaz-e azurewebsites.net. Emellett egy műveletet is végre kell hajtania a hely fejlécének újraírásához, hogy az Application Gateway gazdagépneve legyen. További információkért tekintse meg a hely fejlécének újraírására vonatkozó utasításokat.
Megjegyzés:
A HTTP-fejléc átírásának támogatása csak az Application Gateway Standard_v2 és WAF_v2 termékváltozatához érhető el. Javasoljuk , hogy migráljon a v2-re a fejléc újraírásához, valamint a v2 termékváltozattal elérhető egyéb speciális képességekhez .
Következő lépések
Ha az előző lépések nem oldották meg a problémát, nyisson meg egy támogatási jegyet.