Řešení potíží s App Service v Application Gateway

Zjistěte, jak diagnostikovat a vyřešit problémy, se kterými se můžete setkat, když se Azure App Service používá jako back-endový cíl s Azure Application 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, který používá Application Gateway směrem k App Service do jiného názvu hostitele, jak je vidět v prohlížeči. Název hostitele se často přepíše na výchozí doménu App Service "azurewebsites.net".

Root cause - Application Gateway overwrites hostname to azurewebsites.net

Ukázková 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í pomocí konkrétního názvu domény je nastavené na hodnotu, která se liší od toho, co má požadavek prohlížeče.

Příčina

App Service je víceklientská služba, takže pomocí hlavičky hostitele v požadavku směruje požadavek na správný koncový bod. 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-end App Service chybí požadovaný kontext k vygenerová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í

Doporučeným řešením pro produkční prostředí je konfigurace Application Gateway a App Service, aby nepřepsaly název hostitele. Postupujte podle pokynů pro Custom Domain (doporučeno) v části Konfigurace App Service s 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ů popsaných v článku: Zachování původního názvu hostitele HTTP mezi reverzním proxy serverem a jeho back-endovou webovou aplikací. Tyto důsledky zahrnují potenciál pro soubory cookie vázané na doménu a absolutní adresu URL mimo hlavičku umístění, aby zůstaly přerušené.

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

Upozornění

Tato konfigurace má svá omezení. Doporučujeme zkontrolovat důsledky použití různých názvů hostitelů mezi klientem a Application Gateway a mezi aplikací a App Service v back-endu. Další informace najdete v článku v Centru 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 aplikační brány. 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 pro přepsání hlavičky umístění tak, aby měl název hostitele aplikační brány. 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á jenom pro Standard_v2 a WAF_v2 skladovou položku 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.