Megosztás a következőn keresztül:


Azure-alkalmazás átjáró munkamenet-affinitási problémáinak elhárítása

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

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:

  1. Jelentkezzen be az Azure Portalra.

  2. 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.

  3. Válassza a HTTP-beállítások lapot a BEÁLLÍTÁSOK területen.

    Képernyőkép a BEÁLLÍTÁSOK beállításról, amelyen a H T T P beállításai ki van választva.

  4. 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 .

    Képernyőkép egy alkalmazásátjáró átjáróbeállításairól, beleértve azt is, hogy a cookie-alapú affinitás van-e kiválasztva.

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", 

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.

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:

  1. 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.

  2. 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:

    Képernyőkép egy munkamenetnaplóról egyetlen bejegyzés kiemelésével.

    Képernyőkép a H T T P kérelemfejlécéről, beleértve a cookie-információkat is.

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.

  1. 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ó.

  2. Az adatgyűjtés megkezdéséhez válassza a Diagnosztikai beállítás hozzáadása lehetőséget.

    Képernyőkép egy alkalmazásátjáróról, amelyen a diagnosztikai beállítások ki van választva.

  3. 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.

    Képernyőkép a Diagnosztikai beállítások panelről, amelyen a Log Analytics Konfigurálása van kiválasztva.

  4. 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:

  1. 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.

  2. Kattintson a jobb gombbal a végrehajtható beállításra, és futtassa rendszergazdaként a telepítéshez.

    Képernyőkép a Fiddler telepítőprogramról egy helyi menüvel, amelyen a Futtatás rendszergazdaként beállítás van kiválasztva.

  3. 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.

    Képernyőkép a Fiddler Web Debuggerről, kiemelve a Rögzítés jelzővel.

  4. 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.

    Képernyőkép a Fiddler beállításairól, amelyen a H T T P van kiválasztva, és a HTTPS-forgalom visszafejtése kiválasztva.

  5. 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:

    Képernyőkép a kijelölt X ikonról, amely az Összes eltávolítása lehetőséget jeleníti meg.

  6. 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...

    Képernyőkép az Összes munkamenet mentése lehetőségről.

  7. 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.

    Képernyőkép egy naplóbejegyzés részleteiről, kiemelve a Set-Cookie értéket.

  • 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.

    Képernyőkép egy naplóbejegyzés részleteiről, kiemelve egy cookie-val.

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.