Sdílet prostřednictvím


Řešení potíží se spřažením relací Aplikace Azure lication Gateway

Zjistěte, jak diagnostikovat a vyřešit problémy se spřažením relací s bránou Aplikace Azure lication Gateway.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Přehled

Funkce spřažení relací na základě souborů cookie je užitečná k zachování uživatelské relace na stejném serveru. Pomocí souborů cookie spravovaných bránou umí služba Application Gateway směrovat následný provoz z uživatelské relace ke zpracování na stejný server. To je důležité v případech, kdy se stav jednotlivých uživatelských relací ukládá místně na serveru. Spřažení relací se také označuje jako rychlé relace.

Poznámka:

Application Gateway v1 vydává soubor cookie s názvem ARRAffinity, který se používá k směrování provozu do stejného člena back-endového fondu. Ve službě Application Gateway v2 se tento soubor cookie přejmenoval na ApplicationGatewayAffinity. Pro účely tohoto dokumentu bude applicationGatewayAffinity použit jako příklad, ARRAffinity lze nahradit v případě, že je to možné pro instance služby Application Gateway v1.

Možné příčiny problému

K problému při spřažení relace na základě souborů cookie může dojít z následujících hlavních důvodů:

  • Nastavení spřažení na základě souborů cookie není povoleno.
  • Vaše aplikace nemůže zpracovat spřažení na základě souborů cookie
  • Aplikace používá spřažení na základě souborů cookie, ale požadavky stále skáče mezi back-endovými servery.

Někdy může dojít k problémům se spřažením relace, když zapomenete povolit nastavení spřažení na základě souborů cookie. Pokud chcete zjistit, jestli jste na kartě Nastavení HTTP na webu Azure Portal povolili nastavení spřažení na základě souborů cookie, postupujte podle pokynů:

  1. Přihlaste se k webu Azure Portal.

  2. V levém navigačním podokně klikněte na Všechny prostředky. V okně Všechny prostředky klikněte na název aplikační brány. Pokud předplatné, které jste vybrali, už obsahuje několik prostředků, můžete zadat název aplikační brány do pole Filtrovat podle názvu... a získat tak snadný přístup ke službě Application Gateway.

  3. V části NASTAVENÍ vyberte kartu Nastavení HTTP.

    Snímek obrazovky s vybraným nastavením H T T P

  4. Vyberte nastavení HTTP a na stránce Přidat nastavení HTTP zkontrolujte, jestli je povolené spřažení na základě souborů cookie.

    Snímek obrazovky ukazuje nastavení brány pro službu App Gateway, včetně toho, jestli je vybráno spřažení na základě souborů cookie.

Můžete také zkontrolovat hodnotu CookieBasedAffinity je nastavena na Enabledv části "backendHttpSettingsCollection" pomocí jedné z následujících metod:

"cookieBasedAffinity": "Enabled", 

Příčina

Aplikační brána může provádět pouze spřažení na základě relací pomocí souboru cookie.

Alternativní řešení

Pokud aplikace nedokáže zpracovat spřažení na základě souborů cookie, musíte použít externí nebo interní nástroj pro vyrovnávání zatížení Azure nebo jiné řešení třetích stran.

Příznaky

Povolili jste nastavení spřažení na základě souborů cookie, když přistupujete ke službě Application Gateway pomocí krátké adresy URL názvu v Internet Exploreru, například: http://website požadavek se stále skáče mezi back-endovými servery.

Pokud chcete tento problém identifikovat, postupujte podle pokynů:

  1. Proveďte trasování webového ladicího programu na klientovi, který se připojuje k aplikaci za službou Application Gateway (v tomto příkladu používáme Fiddler). Tip Pokud nevíte, jak používat Fiddler, zaškrtněte v dolní části možnost "Chci shromáždit síťový provoz a analyzovat ho pomocí webového ladicího programu".

  2. Zkontrolujte a analyzujte protokoly relace, abyste zjistili, jestli mají soubory cookie poskytované klientem podrobnosti ApplicationGatewayAffinity. Pokud v sadě souborů cookie nenajdete podrobnosti ApplicationGatewayAffinity, například ApplicationGatewayAffinityValue, znamená to, že klient neodpovídá souboru cookie ApplicationGatewayAffinity, který poskytuje služba Application Gateway. Příklad:

    Snímek obrazovky ukazuje protokol relace se zvýrazněnou jedinou položkou.

    Snímek obrazovky znázorňující hlavičky požadavku pro H T T P včetně informací o souborech cookie

Aplikace se bude dál pokoušet nastavit soubor cookie pro každý požadavek, dokud nebude odpovídat.

Příčina

K tomuto problému dochází, protože Aplikace Internet Explorer a jiné prohlížeče nemusí ukládat nebo používat soubor cookie s krátkou adresou URL.

Rozlišení

Pokud chcete vyřešit tento problém, měli byste přistupovat ke službě Application Gateway pomocí plně kvalifikovaného názvu domény. Například použijte http://website.com nebo http://appgw.website.com .

Další protokoly pro řešení potíží

Můžete shromažďovat další protokoly a analyzovat je, abyste mohli řešit problémy související se spřažením relací na základě souborů cookie.

Analýza protokolů služby Application Gateway

Pokud chcete shromáždit protokoly služby Application Gateway, postupujte podle pokynů:

Povolte protokolování pomocí webu Azure Portal.

  1. Na webu Azure Portal vyhledejte prostředek a pak vyberte Nastavení diagnostiky.

    Pro službu Application Gateway jsou k dispozici tři protokoly: protokol přístupu, protokol výkonu a protokol brány firewall.

  2. Pokud chcete začít shromažďovat data, vyberte Přidat nastavení diagnostiky.

    Snímek obrazovky znázorňující aplikační bránu s vybranou možností Nastavení diagnostiky

  3. Stránka Nastavení diagnostiky poskytuje nastavení diagnostických protokolů. V tomto příkladu ukládá Log Analytics protokoly. Diagnostické protokoly můžete ukládat také pomocí služby center událostí a účtu úložiště.

    Snímek obrazovky s podoknem Nastavení diagnostiky s vybranou možností Konfigurace log Analytics

  4. Potvrďte nastavení a pak vyberte Uložit.

Použití webového ladicího programu k zachycení a analýze přenosů HTTP nebo HTTPS

Nástroje pro ladění webu, jako je Fiddler, vám můžou pomoct ladit webové aplikace zachytáváním síťového provozu mezi internetem a testovacími počítači. Tyto nástroje umožňují kontrolovat příchozí a odchozí data, když je prohlížeč přijímá a odesílá. Fiddler má v tomto příkladu možnost přehrání PROTOKOLU HTTP, která vám může pomoct při řešení problémů na straně klienta s webovými aplikacemi, zejména pro druh ověřování.

Použijte webový ladicí program podle svého výběru. V této ukázce použijeme Fiddler k zachycení a analýze přenosů http nebo https, postupujte podle pokynů:

  1. Stáhněte si Fiddler.

    Poznámka:

    Zvolte Fiddler4, pokud má zachytácí počítač nainstalovaný .NET 4. Jinak zvolte Fiddler2.

  2. Klikněte pravým tlačítkem myši na spustitelný soubor instalace a spusťte ho jako správce, který chcete nainstalovat.

    Snímek obrazovky s instalačním programem Fiddler s místní nabídkou s vybranou možností Spustit jako správce

  3. Když otevřete Fiddler, mělo by se automaticky začít zaznamenávat provoz (všimněte si zachycení v levém dolním rohu). Stisknutím klávesy F12 spustíte nebo zastavíte zachytávání provozu.

    Snímek obrazovky znázorňující webový ladicí program Fiddler se zvýrazněným indikátorem zachytávání

  4. S největší pravděpodobností vás bude zajímat dešifrovaný provoz HTTPS a dešifrování HTTPS můžete povolit tak, že vyberete Nástroje>Fiddler Možnosti a zaškrtnete políčko Dešifrovat provoz HTTPS.

    Snímek obrazovky znázorňující možnosti ve Fiddleru s vybranou možností H T T P a vybranou možností Dešifrovat provoz HTTPS

  5. Předchozí nesouvisející relace můžete před reprodukcí problému odebrat kliknutím na X (ikona)> Odebrat vše následujícím snímkem obrazovky:

    Snímek obrazovky s vybranou ikonou X, která zobrazuje možnost Odebrat vše

  6. Jakmile problém reprodukujete, uložte soubor ke kontrole tak, že vyberete >Možnost Uložit>všechny relace...

    Snímek obrazovky s vybranou možností Uložit všechny relace souboru

  7. Zkontrolujte a analyzujte protokoly relace, abyste zjistili, co je problém.

    Příklady:

  • Příklad A: Zjistíte protokol relace, který se odešle z klienta a přejde na veřejnou IP adresu služby Application Gateway, kliknutím na tento protokol zobrazíte podrobnosti. Na pravé straně data v dolním poli jsou to, co služba Application Gateway vrací klientovi. Vyberte kartu RAW a určete, jestli klient dostává hodnotu Set-Cookie: ApplicationGatewayAffinity= ApplicationGatewayAffinityValue. Pokud neexistuje soubor cookie, spřažení relací není nastavené nebo application Gateway nepoužívá soubor cookie zpět na klienta.

    Poznámka:

    Tato hodnota ApplicationGatewayAffinity je ID souboru cookie, které Služba Application Gateway nastaví pro klienta, který se má odeslat na konkrétní back-end server.

    Snímek obrazovky ukazuje příklad podrobností položky protokolu se zvýrazněnou hodnotou Set-Cookie.

  • Příklad B: Další protokol relace následovaný předchozím protokolem je klient, který reaguje zpět na službu Application Gateway, která nastavila ApplicationGatewayAffinity. Pokud id souboru cookie ApplicationGatewayAffinity odpovídá, paket by se měl odeslat na stejný back-endový server, který jste použili dříve. Zkontrolujte několik dalších řádků komunikace http a zjistěte, jestli se soubor cookie ApplicationGatewayAffinity klienta mění.

    Snímek obrazovky ukazuje příklad podrobností položky protokolu se zvýrazněným souborem cookie.

Poznámka:

U stejné komunikační relace by se soubor cookie neměl měnit. Zaškrtněte políčko nahoře na pravé straně, vyberte kartu Soubory cookie, abyste zjistili, jestli klient používá soubor cookie a odesílá ho zpět do služby Application Gateway. Pokud ne, prohlížeč klienta neudržuje a používá soubor cookie pro konverzace. Někdy může klient lhát.

Další kroky

Pokud předchozí kroky problém nevyřeší, otevřete lístek podpory.