Řešení potíží se spřažením relací brány Aplikace Azure

Zjistěte, jak diagnostikovat a vyřešit problémy se spřažením relací s Aplikace Azure 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ě HTTP Nastavení 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.

    Screenshot shows SETTINGS with H T T P settings selected.

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

    Screenshot shows the gateway settings for an app gateway, including whether Cookie based affinity is selected.

Můžete také zkontrolovat hodnotu CookieBasedAffinity je nastavena na Enabledv části BackendHttp Nastavení Collection 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á souborem cookie ApplicationGatewayAffinity, který poskytuje služba Application Gateway. Příklad:

    Screenshot shows a session log with a single entry highlighted.

    Screenshot shows request headers for H T T P, including cookie information.

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.

    Screenshot shows an application gateway with Diagnostics settings selected.

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

    Screenshot shows the Diagnostics settings pane with Log Analytics Configure selected.

  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.

    Screenshot shows the Fiddler setup program with a contextual menu with Run as administrator selected.

  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.

    Screenshot shows the Fiddler Web Debugger with the Capturing indicator highlighted.

  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.

    Screenshot shows Options in Fiddler with H T T P selected and Decrypt HTTPS traffic selected.

  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:

    Screenshot shows the X icon selected, which displays the Remove all option.

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

    Screenshot shows the File Save All Sessions option selected.

  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.

    Screenshot shows an example of details of a log entry with the Set-Cookie value highlighted.

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

    Screenshot shows an example of details of a log entry with a cookie highlighted.

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.