Konfigurace nastavení HTTP služby Application Gateway
Aplikační brána směruje provoz na back-endové servery pomocí konfigurace, kterou zde zadáte. Po vytvoření nastavení HTTP ho musíte přidružit k jednomu nebo více pravidlu směrování požadavků.
Spřažení na základě souborů cookie.
Aplikace Azure lication Gateway používá soubory cookie spravované bránou k údržbě uživatelských relací. Když uživatel odešle první požadavek do služby Application Gateway, nastaví v odpovědi soubor cookie spřažení s hodnotou hash, která obsahuje podrobnosti relace, aby následné požadavky, které obsahují soubor cookie spřažení, byly směrovány na stejný back-endový server kvůli zachování odolnosti.
Tato funkce je užitečná, když chcete zachovat uživatelskou relaci na stejném serveru a když je stav relace uložen místně na serveru pro uživatelskou relaci. Pokud aplikace nedokáže zpracovat spřažení na základě souborů cookie, nemůžete tuto funkci použít. Pokud ho chcete použít, ujistěte se, že klienti podporují soubory cookie.
Poznámka:
Některé kontroly ohrožení zabezpečení můžou označit soubor cookie spřažení služby Application Gateway, protože nejsou nastavené příznaky Secure nebo HttpOnly. Tyto kontroly nebere v úvahu, že se data v souboru cookie generují pomocí jednosměrné hodnoty hash. Soubor cookie neobsahuje žádné informace o uživateli a používá se čistě pro směrování.
Aktualizace prohlížeče Chromium v80 přinesla mandát, kde soubory cookie HTTP bez atributu SameSite musí být považovány za SameSite=Lax. V případě požadavků CORS (sdílení prostředků mezi zdroji) musí být soubor cookie odeslán v kontextu třetí strany, musí použít SameSite=None; Zabezpečené atributy a měly by se odesílat jenom přes PROTOKOL HTTPS. V opačném případě prohlížeč neodesílá soubory cookie v kontextu třetí strany. Cílem této aktualizace z Chromu je zvýšit zabezpečení a vyhnout se útokům CSRF (Cross-Site Request Forgery).
Pro podporu této změny služba Application Gateway (všechny typy skladových položek) od 17. února 2020 kromě existujícího souboru cookie ApplicationGatewayAffinityCORS vloží další soubor cookie s názvem ApplicationGatewayAffinityCORS. Soubor cookie ApplicationGatewayAffinityCORS obsahuje dva další atributy ("SameSite=None; Zabezpečení") tak, aby rychlé relace byly zachovány i pro žádosti mezi zdroji.
Všimněte si, že výchozí název souboru cookie spřažení je ApplicationGatewayAffinity a můžete ho změnit. Pokud máte síťovou topologii, nasadíte více aplikačních bran na řádku, musíte pro každý prostředek nastavit jedinečné názvy souborů cookie. Pokud používáte vlastní název souboru cookie spřažení, přidá se další soubor cookie s CORS
příponou. Příklad: CustomCookieNameCORS.
Poznámka:
Pokud je atribut SameSite=None nastaven, je povinné, že soubor cookie obsahuje také příznak Secure a musí být odeslán přes PROTOKOL HTTPS. Pokud se přes CORS vyžaduje spřažení relací, musíte svou úlohu migrovat na HTTPS. Informace o přesměrování zpracování protokolu TLS a kompletní dokumentaci k protokolu TLS pro službu Application Gateway najdete tady: Přehled, Konfigurace aplikační brány s ukončením protokolu TLS pomocí webu Azure Portal, konfigurace kompletního protokolu TLS pomocí služby Application Gateway s portálem.
Vyprázdnění připojení
Vyprazdňování připojení pomáhá elegantně odebírat členy back-endových fondů během plánovaných aktualizací služeb. Platí pro back-endové instance, které jsou
- explicitně odebrané z back-endového fondu nebo
- hlášené jako poškozené sondami stavu.
Toto nastavení můžete použít u všech členů back-endového fondu povolením vyprazdňování připojení v nastavení back-endu. Zajišťuje, aby všechny instance zrušení registrace v back-endovém fondu nepřišly žádné nové požadavky nebo připojení při zachování stávajících připojení, dokud se nenakonfigurovala hodnota časového limitu. To platí také pro připojení WebSocket.
Typ konfigurace | Hodnota |
---|---|
Výchozí hodnota, pokud není v nastavení back-endu povolené vyprazdňování připojení | 30 sekund |
Uživatelem definovaná hodnota při povolení vyprazdňování připojení v nastavení back-endu | 1 až 3600 sekund |
Jedinou výjimkou jsou požadavky vázané na zrušení registrace instancí kvůli spřažení relací spravovaných bránou. Tyto požadavky se budou dál předávat do instancí zrušení registrace.
Protokol
Application Gateway podporuje požadavky na směrování na back-endové servery jak HTTP, tak HTTPS. Pokud zvolíte protokol HTTP, provoz na back-endové servery není zašifrovaný. Pokud není nešifrovaná komunikace přijatelná, zvolte HTTPS.
Toto nastavení v kombinaci s PROTOKOLem HTTPS v naslouchacím procesu podporuje kompletní TLS. To vám umožní bezpečně přenášet citlivá data zašifrovaná do back-endu. Každý back-endový server v back-endovém fondu, který má povolený kompletní protokol TLS, musí být nakonfigurovaný s certifikátem, který umožňuje zabezpečenou komunikaci.
Port
Toto nastavení určuje port, na kterém back-endové servery naslouchají provozu ze služby Application Gateway. Porty můžete nakonfigurovat od 1 do 65535.
Důvěryhodný kořenový certifikát
Pokud jako back-endový protokol vyberete PROTOKOL HTTPS, služba Application Gateway vyžaduje důvěryhodný kořenový certifikát, aby důvěřoval back-endovému fondu pro kompletní SSL. Ve výchozím nastavení je možnost Použít známý certifikát certifikační autority nastavena na Ne. Pokud plánujete používat certifikát podepsaný svým držitelem nebo certifikát podepsaný interní certifikační autoritou, musíte službě Application Gateway poskytnout odpovídající veřejný certifikát používaný back-endovým fondem. Tento certifikát musí být nahrán přímo do služby Application Gateway v . Formát CER
Pokud plánujete používat certifikát v back-endovém fondu podepsaném důvěryhodnou veřejnou certifikační autoritou, můžete nastavit možnost Použít známý certifikát certifikační autority na Ano a přeskočit nahrání veřejného certifikátu.
Vypršení časového limitu požadavku
Toto nastavení je počet sekund, po které aplikační brána čeká na přijetí odpovědi z back-endového serveru.
Přepsat cestu na back-end
Toto nastavení umožňuje nakonfigurovat volitelnou vlastní cestu přesměrování, která se má použít při předání požadavku na back-end. Jakákoli část příchozí cesty, která odpovídá vlastní cestě v poli přepsání back-endové cesty , se zkopíruje do předané cesty. Následující tabulka ukazuje, jak tato funkce funguje:
Když je nastavení HTTP připojené k základnímu pravidlu směrování požadavků:
Původní žádost Přepsat cestu na back-end Požadavek přeposlaný na back-end /domov/ /schvátit/ /override/home/ /home/secondhome/ /schvátit/ /override/home/secondhome/ Když je nastavení HTTP připojené k pravidlu směrování požadavků na základě cesty:
Původní žádost Pravidlo cesty Přepsat cestu na back-end Požadavek přeposlaný na back-end /pathrule/home/ /pathrule* /schvátit/ /override/home/ /pathrule/home/secondhome/ /pathrule* /schvátit/ /override/home/secondhome/ /domov/ /pathrule* /schvátit/ /override/home/ /home/secondhome/ /pathrule* /schvátit/ /override/home/secondhome/ /pathrule/home/ /pathrule/home* /schvátit/ /schvátit/ /pathrule/home/secondhome/ /pathrule/home* /schvátit/ /override/secondhome/ /pathrule/ /pathrule/ /schvátit/ /schvátit/
Použití vlastní sondy
Toto nastavení přidruží vlastní sondu k nastavení HTTP. K nastavení HTTP můžete přidružit pouze jednu vlastní sondu. Pokud explicitně nepřidružíte vlastní sondu, použije se výchozí sonda ke sledování stavu back-endu. Doporučujeme vytvořit vlastní sondu pro větší kontrolu nad monitorováním stavu back-endů.
Poznámka:
Vlastní sonda nemonitoruje stav back-endového fondu, pokud není odpovídající nastavení HTTP explicitně přidružené k naslouchacímu procesu.
Konfigurace názvu hostitele
Služba Application Gateway umožňuje připojení k back-endu použít jiný název hostitele, než který klient používá pro připojení ke službě Application Gateway. I když tato konfigurace může být užitečná v některých případech, při přepsání názvu hostitele buďte opatrní, že se liší mezi aplikační bránou a klientem v porovnání s cílem back-endu.
V produkčním prostředí se doporučuje ponechat název hostitele používaný klientem směrem ke službě Application Gateway jako stejný název hostitele, který aplikační brána používá k back-endovému cíli. Tím se zabrání potenciálním problémům s absolutními adresami URL, adresami URL přesměrování a soubory cookie vázanými na hostitele.
Před nastavením služby Application Gateway, která se od tohoto řešení liší, si projděte důsledky takové konfigurace, které jsou podrobněji popsány v Centru architektury: Zachování původního názvu hostitele HTTP mezi reverzním proxy serverem a jeho back-endovou webovou aplikací
Existují dva aspekty nastavení HTTP, které ovlivňují hlavičku Host
HTTP používanou službou Application Gateway pro připojení k back-endu:
- "Výběr názvu hostitele z back-endové adresy"
- Přepsání názvu hostitele
Výběr názvu hostitele z back-endové adresy
Tato schopnost dynamicky nastavuje hlavičku hostitele v požadavku na název hostitele back-endového fondu. Používá IP adresu nebo plně kvalifikovaný název domény.
Tato funkce pomáhá, když se název domény back-endu liší od názvu DNS aplikační brány a back-end spoléhá na konkrétní hlavičku hostitele, která se přeloží na správný koncový bod.
Příkladem jsou služby s více tenanty jako back-end. App Service je služba s více tenanty, která používá sdílený prostor s jednou IP adresou. Služba App Service je tedy přístupná pouze prostřednictvím názvů hostitelů, které jsou nakonfigurované v nastavení vlastní domény.
Ve výchozím nastavení je vlastní název domény example.azurewebsites.net. Pokud chcete získat přístup ke službě App Service pomocí aplikační brány prostřednictvím názvu hostitele, který není explicitně zaregistrovaný ve službě App Service nebo prostřednictvím plně kvalifikovaného názvu domény služby Application Gateway, můžete přepsat název hostitele v původním požadavku na název hostitele služby App Service. Uděláte to tak, že povolíte název hostitele pro výběr z nastavení back-endové adresy .
U vlastní domény, jejíž existující vlastní název DNS je namapovaný na službu App Service, doporučená konfigurace neumožňuje výběr názvu hostitele z back-endové adresy.
Poznámka:
Toto nastavení se nevyžaduje pro službu App Service Environment, což je vyhrazené nasazení.
Přepsání názvu hostitele
Tato funkce nahradí hlavičku hostitele v příchozím požadavku ve službě Application Gateway zadaným názvem hostitele.
Pokud je například v nastavení název hostitele zadán www.contoso.com, původní požadavek *https://appgw.eastus.cloudapp.azure.com/path1
se změní na *https://www.contoso.com/path1
při předání požadavku na back-endový server.