Řešení potíží se službou App Service ve službě Application Gateway

Zjistěte, jak diagnostikovat a vyřešit problémy, se kterými se můžete setkat, když se služba Aplikace Azure používá jako cíl back-endu s bránou Aplikace Azure Gateway.

Přehled

V tomto článku se dozvíte, jak řešit následující problémy, jak je popsáno podrobněji v Centru architektury: Zachování původního názvu hostitele HTTP mezi reverzním proxy serverem a jeho back-endovou webovou aplikací

Hlavní příčinou výše uvedených příznaků je nastavení, které přepíše název hostitele používaný službou Application Gateway směrem ke službě App Service na jiný název hostitele, jak je vidět v prohlížeči. Název hostitele se často přepíše na výchozí doménu "azurewebsites.net" služby App Service.

Root cause - Application Gateway overwrites hostname to azurewebsites.net

Vzorová konfigurace

V případě, že konfigurace odpovídá jedné z následujících dvou situací, podléhá nastavení pokynům v tomto článku:

  • Možnost Vybrat název hostitele z back-endové adresy je povolená v Nastavení HTTP
  • Přepsání s konkrétním názvem domény je nastaveno na hodnotu odlišnou od toho, co má požadavek prohlížeče.

Příčina

App Service je víceklientská služba, takže k směrování požadavku do správného koncového bodu používá hlavičku hostitele v požadavku. Výchozí název domény služby App Services, *.azurewebsites.net (například contoso.azurewebsites.net) se liší od názvu domény aplikační brány (například contoso.com). Back-endové službě App Service chybí požadovaný kontext pro generování adres URL přesměrování nebo souborů cookie, které odpovídají doméně, jak je vidět v prohlížeči.

Řešení

Produkčním doporučeným řešením je nakonfigurovat službu Application Gateway a App Service tak, aby nepřepsaly název hostitele. Postupujte podle pokynů pro vlastní doménu (doporučeno) v konfiguraci služby App Service se službou Application Gateway.

Zvažte použití jiného alternativního řešení (například přepsání hlavičky umístění, jak je popsáno níže) po posouzení dopadů, jak je popsáno v článku: Zachování původního názvu hostitele HTTP mezi reverzním proxy serverem a jeho back-endovou webovou aplikací. Mezi tyto důsledky patří potenciál pro soubory cookie vázané na doménu a absolutní adresu URL mimo hlavičku umístění, která zůstanou přerušená.

Alternativní řešení: Přepsání hlavičky Umístění

Upozorňující

Tato konfigurace má určitá omezení. Doporučujeme zkontrolovat důsledky použití různých názvů hostitelů mezi klientem a službou Application Gateway a mezi aplikací a službou App Service v back-endu. Další informace najdete v článku Centrum architektury: Zachování původního názvu hostitele HTTP mezi reverzním proxy serverem a jeho back-endovou webovou aplikací

Nastavte název hostitele v hlavičce umístění na název domény služby Application Gateway. Uděláte to tak, že vytvoříte pravidlo přepsání s podmínkou, která vyhodnotí, jestli hlavička umístění v odpovědi obsahuje azurewebsites.net. Musí také provést akci, která přepíše hlavičku umístění tak, aby měla název hostitele služby Application Gateway. Další informace najdete v pokynech k přepsání hlavičky umístění.

Poznámka:

Podpora přepsání hlaviček HTTP je dostupná pouze pro Standard_v2 a WAF_v2 skladovou položku služby Application Gateway. Doporučujeme migrovat na verzi 2 pro přepsání hlaviček a další pokročilé funkce, které jsou k dispozici se skladovou jednotkou v2.

Další kroky

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