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.

Root cause - Application Gateway overwrites hostname to azurewebsites.net

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.