Sdílet prostřednictvím


Ř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 Azure App Service používá jako back-endový cíl se službou 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 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. Often the hostname is overridden to the default App Service "azurewebsites.net" domain.

Původní příčina – Služba Application Gateway přepíše název hostitele na 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:

  • V nastavení HTTP je povolená možnost Vybrat název hostitele z back-endové adresy.
  • Override with specific domain name is set to a value different from what the browser request has

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). The backend App Service is missing the required context to generate redirect url's or cookies that align with the domain as seen by the browser.

Řešení

Produkční doporučení je nakonfigurovat Application Gateway a App Service tak, aby nezasahovaly do názvu 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ří možnost existence doménově vázaných cookies a absolutních URL mimo záhlaví lokace, které mohou zůstat nefunkční.

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

Výstraha

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 'Location' v odpovědi obsahuje azurewebsites.net. It must also perform an action to rewrite the location header to have the application gateway's host name. Více informací naleznete v pokynech k tomu, jak přepsat hlavičku Location.

Poznámka:

Podpora přepsání hlaviček HTTP je dostupná pouze pro Standard_v2 a WAF_v2 SKU služby Application Gateway. Doporučujeme přejít na verzi 2 pro přepis hlaviček a další pokročilé funkce, které jsou dostupné ve verzi v2.

Další kroky

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