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

Aplikace Azure Gateway používá soubory cookie spravované bránou k údržbě uživatelských relací. Když uživatel odešle první požadavek službě 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čeChromium 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 používáte vlastní název souboru cookie spřažení, přidá se další soubor cookie s příponou CORS. Napří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í

Připojení vyprazdňování vám pomůže během plánovaných aktualizací služby řádně odebrat členy back-endových fondů. Platí pro back-endové instance, které jsou

  • explicitně odebrané z back-endového fondu,
  • odebrané během operací se škálováním na více instancí, nebo
  • hlášené jako poškozené sondami stavu.

Toto nastavení můžete použít u všech členů back-endového fondu povolením Připojení vyprazdňování 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á Připojení vyprazdňování 30 sekund
Uživatelem definovaná hodnota, když je v nastavení back-endu povolená Připojení vyprazdňování 1 až 3600 sekund

Jedinou výjimkou jsou požadavky vázané na zrušení registrace instancí kvůli spřažení relací spravované bránou a budou se 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, který bude back-endový fond používat. 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
    /Domů/ /Přepsat/ /override/home/
    /home/secondhome/ /Přepsat/ /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* /Přepsat/ /override/home/
    /pathrule/home/secondhome/ /pathrule* /Přepsat/ /override/home/secondhome/
    /Domů/ /pathrule* /Přepsat/ /override/home/
    /home/secondhome/ /pathrule* /Přepsat/ /override/home/secondhome/
    /pathrule/home/ /pathrule/home* /Přepsat/ /Přepsat/
    /pathrule/home/secondhome/ /pathrule/home* /Přepsat/ /override/secondhome/
    /pathrule/ /pathrule/ /Přepsat/ /Přepsat/

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ž může být tato konfigurace užitečná v některých případech, přepsání názvu hostitele tak, aby se mezi klientem a službou Application Gateway a aplikační bránou lišily s back-endovým cílem, by se mělo provádět opatrně.

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.

Další kroky