Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megtudhatja, hogyan diagnosztizálhatja és oldhatja meg a munkamenet-affinitással kapcsolatos problémákat Azure-alkalmazás Átjáróval.
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Áttekintés
A cookie-alapú munkamenet-affinitás funkció hasznos, ha egy felhasználói munkamenetet ugyanazon a kiszolgálón tart. Az átjáróval kezelt cookie-k használatával az Application Gateway képes egy felhasználói munkamenet minden újabb forgalmát ugyanarra a kiszolgálóra irányítani feldolgozásra. Ez a funkció olyan esetekben lehet fontos, amelyekben egy felhasználói munkamenethez tartozó munkamenet-állapotot helyileg ment a rendszer a kiszolgálón. A munkamenet-affinitást ragadós munkamenetnek is nevezik.
Feljegyzés
Az Application Gateway v1 egy ARRAffinity nevű cookie-t ad ki, amely a forgalmat ugyanahhoz a háttérkészlet-taghoz irányítja. Az Application Gateway 2-es verzióban ezt a cookie-t átnevezték ApplicationGatewayAffinity-re. A dokumentum alkalmazásában az ApplicationGatewayAffinity lesz példaként használva, az ARRAffinity helyettesíthető az Application Gateway v1-példányok esetében, ahol lehetséges.
Lehetséges problémák okai
A cookie-alapú munkamenet-affinitás fenntartásával kapcsolatos probléma a következő fő okok miatt fordulhat elő:
- A "Cookie-alapú affinitás" beállítás nincs engedélyezve
- Az alkalmazás nem tudja kezelni a cookie-alapú affinitást
- Az alkalmazás cookie-alapú affinitást használ, de a kérések továbbra is pattognak a háttérkiszolgálók között
Ellenőrizze, hogy engedélyezve van-e a "Cookie-alapú affinitás" beállítás
Előfordulhat, hogy a munkamenet-affinitási problémák akkor fordulnak elő, ha elfelejti engedélyezni a "Cookie-alapú affinitás" beállítást. Annak megállapításához, hogy engedélyezte-e a "Cookie-alapú affinitás" beállítást az Azure Portal HTTP-beállítások lapján, kövesse az utasításokat:
Jelentkezzen be az Azure Portalra.
A bal oldali navigációs panelen kattintson a Minden erőforrás elemre. Kattintson az Application Gateway nevére a Minden erőforrás panelen. Ha a kiválasztott előfizetésben már több erőforrás található, az Application Gateway nevét a Szűrő név alapján... mezőbe adhatja meg, hogy könnyen hozzáférhessen az application gatewayhez.
Válassza a HTTP-beállítások lapot a BEÁLLÍTÁSOK területen.
Válassza ki a HTTP-beállítást, és a HTTP-beállítás hozzáadása lapon ellenőrizze, hogy engedélyezve van-e a cookie-alapú affinitás .
Azt is ellenőrizheti, hogy a "CookieBasedAffinity" értéke engedélyezvevan-e a "backendHttpSettingsCollection" alatt az alábbi módszerek egyikével:
- A Get-AzApplicationGatewayBackendHttpSetting futtatása a PowerShellben
- Tekintse át a JSON-fájlt az Azure Resource Manager-sablon használatával
"cookieBasedAffinity": "Enabled",
Az alkalmazás nem tudja kezelni a cookie-alapú affinitást
Ok
Az Application Gateway csak munkamenet-alapú affinitást képes végrehajtani egy cookie használatával.
Áthidaló megoldás
Ha az alkalmazás nem tudja kezelni a cookie-alapú affinitást, külső vagy belső Azure-terheléselosztót vagy más külső megoldást kell használnia.
Az alkalmazás cookie-alapú affinitást használ, de a kérések továbbra is pattognak a háttérkiszolgálók között
Tünet
Engedélyezte a cookie-alapú affinitás beállítást, amikor az Application Gatewayt egy rövid név URL-cím használatával éri el az Internet Explorerben, például: http://website
a kérés továbbra is pattogó a háttérkiszolgálók között.
A probléma azonosításához kövesse az utasításokat:
Készítsen egy webes hibakereső nyomkövetést az Application Gateway mögötti alkalmazáshoz csatlakozó "ügyfélen". (Ebben a példában a Fiddlert használjuk). Tipp Ha nem tudja, hogyan kell használni a Fiddlert, ellenőrizze a "Szeretném összegyűjteni a hálózati forgalmat, és elemezni a webes hibakereső használatával" lehetőséget az alján.
Ellenőrizze és elemezze a munkamenetnaplókat annak megállapításához, hogy az ügyfél által biztosított cookie-k rendelkeznek-e az ApplicationGatewayAffinity adataival. Ha nem találja az ApplicationGatewayAffinity adatait (például "ApplicationGatewayAffinity= ApplicationGatewayAffinityValue" a cookie-készleten belül), az azt jelenti, hogy az ügyfél nem válaszol az ApplicationGatewayAffinity cookie-val, amelyet az Application Gateway biztosít. Példa:
Az alkalmazás továbbra is megpróbálja beállítani a cookie-t minden egyes kérelemre, amíg választ nem kap.
Ok
Ez a probléma azért fordul elő, mert előfordulhat, hogy az Internet Explorer és más böngészők nem tárolják vagy nem használják a cookie-t rövid url-címmel.
Resolution (Osztás)
A probléma kijavításához az Application Gatewayhez FQDN-nel férjen hozzá. Például a használat http://website.com vagy http://appgw.website.com a .
További hibaelhárítási naplók
További naplókat gyűjthet és elemezhet, hogy elhárítsa a cookie-alapú munkamenet-affinitással kapcsolatos problémákat
Application Gateway-naplók elemzése
Az Application Gateway-naplók gyűjtéséhez kövesse az utasításokat:
Engedélyezze a naplózást az Azure Portalon.
Az Azure Portalon keresse meg az erőforrást, majd válassza a Diagnosztikai beállítást.
Az Application Gateway esetében három napló érhető el: hozzáférési napló, teljesítménynapló és tűzfalnapló.
Az adatgyűjtés megkezdéséhez válassza a Diagnosztikai beállítás hozzáadása lehetőséget.
A Diagnosztikai beállítás lap a diagnosztikai naplók beállításait tartalmazza. Ebben a példában a Log Analytics tárolja a naplókat. Eseményközpontot és tárfiókot is használhat a diagnosztikai naplók mentésére.
Erősítse meg a beállításokat, majd válassza a Mentés lehetőséget.
A HTTP- vagy HTTPS-forgalom rögzítése és elemzése webes hibakereső használatával
Az olyan webes hibakeresési eszközök, mint a Fiddler, segíthetnek a webalkalmazások hibakeresésében az internet és a tesztszámítógépek közötti hálózati forgalom rögzítésével. Ezek az eszközök lehetővé teszik a bejövő és kimenő adatok vizsgálatát, amint a böngésző fogadja vagy elküldi őket. A Fiddler ebben a példában a HTTP-visszajátszási lehetőséggel rendelkezik, amely segíthet a webalkalmazásokkal kapcsolatos ügyféloldali problémák elhárításában, különösen a hitelesítéssel kapcsolatos problémák esetén.
Használja a választott webes hibakeresőt. Ebben a mintában a Fiddler használatával fogjuk rögzíteni és elemezni a http- vagy https-forgalmat, kövesse az utasításokat:
Töltse le a Fiddlert.
Feljegyzés
Válassza a Fiddler4 lehetőséget, ha a rögzítési számítógépen telepítve van a .NET 4. Ellenkező esetben válassza a Fiddler2 lehetőséget.
Kattintson a jobb gombbal a végrehajtható beállításra, és futtassa rendszergazdaként a telepítéshez.
A Fiddler megnyitásakor a rendszer automatikusan megkezdi a forgalom rögzítését (figyelje meg a rögzítést a bal alsó sarokban). Nyomja le az F12 billentyűt a forgalom rögzítésének elindításához vagy leállításához.
Valószínűleg érdekli a visszafejtett HTTPS-forgalom, a HTTPS-visszafejtést pedig az Eszközök>fiddler beállításai lehetőséget választva engedélyezheti, és jelölje be a "HTTPS-forgalom visszafejtése" jelölőnégyzetet.
A probléma reprodukálása előtt eltávolíthatja a korábbi nem kapcsolódó munkameneteket az X (ikon) Remove All (Összes eltávolítása)> gombra kattintva a következő képernyőképen:
Miután reprodukálta a problémát, mentse a fájlt felülvizsgálatra a Fájl>mentése az összes munkamenet mentése>gombra kattintva...
Ellenőrizze és elemezze a munkamenetnaplókat, és állapítsa meg, hogy mi a probléma.
Példák:
A. példa: Talál egy munkamenetnaplót, amelyet a rendszer az ügyféltől küld, és az az Application Gateway nyilvános IP-címére kerül, a részletek megtekintéséhez kattintson erre a naplóra. A jobb oldalon az alsó mezőben lévő adatok az Application Gateway által az ügyfélnek visszaadott adatok. Válassza a "RAW" lapot, és állapítsa meg, hogy az ügyfél kap-e "Set-Cookie: ApplicationGatewayAffinity= ApplicationGatewayAffinityValue" értéket. Ha nincs cookie, a munkamenet-affinitás nincs beállítva, vagy az Application Gateway nem alkalmazza vissza a cookie-t az ügyfélre.
Feljegyzés
Ez az ApplicationGatewayAffinity érték a cookie-azonosító, amelyet az Application Gateway beállít ahhoz, hogy az ügyfél elküldhető legyen egy adott háttérkiszolgálóra.
B példa: A következő munkamenetnapló, amelyet az előző követ, az az ügyfél válaszol vissza az Application Gatewayre, amely beállította az ApplicationGatewayAffinity szolgáltatást. Ha az ApplicationGatewayAffinity cookie-azonosítója megegyezik, a csomagot a korábban használt háttérkiszolgálóra kell elküldeni. Ellenőrizze a http-kommunikáció következő sorait, és ellenőrizze, hogy változik-e az ügyfél ApplicationGatewayAffinity cookie-ja.
Feljegyzés
Ugyanahhoz a kommunikációs munkamenethez a cookie-t nem szabad módosítani. Jelölje be a jobb oldalon a felső jelölőnégyzetet, és válassza a "Cookie-k" fület annak ellenőrzéséhez, hogy az ügyfél használja-e a cookie-t, és visszaküldi-e az Application Gatewaynek. Ha nem, az ügyfélböngésző nem tartja meg és nem használja a cookie-t beszélgetésekhez. Néha előfordulhat, hogy az ügyfél hazudik.
Következő lépések
Ha az előző lépések nem oldják meg a problémát, nyisson meg egy támogatási jegyet.