Hostování více webů ve službě Application Gateway

Hostování více webů umožňuje nakonfigurovat více než jednu webovou aplikaci na stejném portu aplikačních bran pomocí veřejných naslouchacích procesů. Díky možnosti přidat do jedné služby Application Gateway více než 100 webů můžete nakonfigurovat efektivnější topologii vašich nasazení. Každou stránku lze přesměrovat na vlastní back-endový fond. Příklad: na IP adresu služby Application Gateway odkazují tři domény – contoso.com, fabrikam.com a adatum.com. Můžete vytvořit tři naslouchací procesy pro více webů a jednotlivé naslouchací procesy nakonfigurovat pro příslušené nastavení portu a protokolu.

V naslouchacím procesu pro více webů můžete také definovat názvy hostitelů se zástupnými znaky a až 5 názvů hostitelů na naslouchací proces. Další informace najdete v naslouchacím procesu v názvech hostitelůsech

Multi-site Application Gateway

Důležité

Pravidla se zpracovávají v pořadí, v jakém jsou uvedené na portálu pro skladovou položku v1. Pro skladovou položku v2 použijte prioritu pravidla k určení pořadí zpracování. Důrazně doporučujeme nakonfigurovat naslouchací procesy pro více webů před konfigurací základního naslouchacího procesu. Tím se zajistí směrování provozu do správného back-endu. Pokud je základní naslouchací proces uveden jako první a odpovídá příchozímu požadavku, požadavek se zpracuje tímto naslouchacím procesem.

Požadavky na adresu http://contoso.com se směrují na ContosoServerPool a požadavky na adresu http://fabrikam.com na FabrikamServerPool.

Podobně můžete hostovat více subdomén stejné nadřazené domény ve stejném nasazení služby Application Gateway. Můžete například hostovat http://blog.contoso.com a http://app.contoso.com na jednom nasazení služby Application Gateway.

Pořadí vyhodnocení pravidel směrování požadavků

Pokud používáte naslouchací procesy s více lokalitami k zajištění směrování klientského provozu do přesného back-endu, je důležité, aby pravidla směrování požadavků byla ve správném pořadí. Pokud máte například 2 naslouchací procesy s přidruženými názvy *.contoso.com hostitelů a shop.contoso.com, musí být naslouchací proces s shop.contoso.com názvem hostitele zpracován před naslouchacím procesem *.contoso.com. Pokud se naslouchací proces *.contoso.com zpracuje jako první, žádný klientský provoz nebude přijat konkrétnějším shop.contoso.com naslouchacím procesem.

Řazení pravidel lze vytvořit zadáním hodnoty pole Priorita pravidlům směrování požadavků přidruženým k naslouchacím procesům. Můžete zadat celočíselnou hodnotu od 1 do 20000, kdy 1 znamená nejvyšší a 20000 nejnižší prioritu. Pokud příchozí klientský provoz odpovídá více naslouchacím procesům, použije se k poskytování požadavku pravidlo směrování s nejvyšší prioritou. Každé pravidlo směrování požadavků musí mít jedinečnou hodnotu priority.

Pole priority má vliv pouze na pořadí vyhodnocení pravidla směrování požadavku. Tím nedojde ke změně pořadí vyhodnocování pravidel založených na cestě v rámci PathBasedRouting pravidla směrování požadavku.

Poznámka:

Pokud chcete použít prioritu pravidla, musíte zadat hodnoty polí priority pravidla pro všechna existující pravidla směrování požadavků. Jakmile je pole priority pravidla používáno, musí mít všechna vytvořená nová pravidla směrování hodnotu pole priority pravidla jako součást konfigurace.

Důležité

Počínaje rozhraním API verze 2021-08-01 je pole priority pravidla povinným polem v pravidlech směrování požadavků. Hodnoty polí priority pravidla pro existující pravidla směrování požadavků na základě aktuálního pořadí vyhodnocení v rámci prvního volání PUT se vyplní automaticky, pokud se nějaké aktualizace konfigurace použijí pomocí rozhraní API verze 2021-08-01 a vyšší, portálu, Azure PowerShellu a Azure CLI. Budoucí aktualizace pravidel směrování požadavků musí mít v rámci konfigurace zadané pole priority pravidla.

Názvy hostitelů se zástupnými znaky v naslouchacím procesu

Application Gateway umožňuje směrování na základě hostitele pomocí naslouchacího procesu HTTP s více lokalitami. Teď můžete v názvu hostitele použít zástupné znaky, jako je hvězdička (*) a otazník (?), a až 5 názvů hostitelů na naslouchací proces HTTP(S) pro více webů. Například *.contoso.com.

Pomocí zástupné znaky v názvu hostitele můžete shodovat více názvů hostitelů v jednom naslouchacím procesu. Může se například *.contoso.com shodovat s customer1.b2b.contoso.comecom.contoso.comb2b.contoso.com a tak dále. Pomocí pole názvů hostitelů můžete pro naslouchací proces nakonfigurovat více než jeden název hostitele pro směrování požadavků do back-endového fondu. Naslouchací proces může například obsahovat contoso.com, fabrikam.com požadavky na oba názvy hostitelů.

Wildcard Listener

Poznámka:

Tato funkce je dostupná jenom pro Standard_v2 a WAF_v2 skladovou položku služby Application Gateway.

V Azure PowerShellu musíte místo -HostNames-HostName. Pomocí názvů hostitelů můžete zmínit až 5 názvů hostitelů jako hodnoty oddělené čárkami a použít zástupné znaky. Například -HostNames "*.contoso.com","*.fabrikam.com".

V Azure CLI musíte místo --host-names--host-name. Pomocí názvů hostitelů můžete zmínit až 5 názvů hostitelů jako hodnoty oddělené čárkami a použít zástupné znaky. Například --host-names "*.contoso.com,*.fabrikam.com".

Na webu Azure Portal v rámci naslouchacího procesu s více weby musíte zvolit typ hostitele s více zástupnými znaky, abyste zmínili až pět názvů hostitelů s povolenými zástupnými znaky.

Wildcard Listener UI

Povolené znaky v poli názvů hostitelů

  • (A-Z,a-z,0-9) - alfanumerické znaky
  • - - spojovník nebo minus
  • . - tečka jako oddělovač
  • * - může odpovídat více znakům v povoleném rozsahu.
  • ? - může odpovídat jednomu znaku v povoleném rozsahu.

Podmínky použití zástupných znaků a více názvů hostitelů v naslouchacím procesu

  • V jediném naslouchacím procesu můžete zmínit maximálně 5 názvů hostitelů.
  • Hvězdičku * lze zmínit pouze jednou v komponentě názvu stylu domény nebo názvu hostitele. Například component1*.component2*.component3. Název (*.contoso-*.com) je platný.
  • V názvu hostitele může být až dvě hvězdičky * . Je například *.contoso.* platný a *.contoso.*.*.com je neplatný.
  • V názvu hostitele může být maximálně 4 zástupné znaky. Jsou například ????.contoso.comw??.contoso*.edu.* platné, ale ????.contoso.* jsou neplatné.
  • Použití hvězdičky * a otazníku ? společně v komponentě názvu hostitele (*? nebo ?***) je neplatné. Například *?.contoso.com a **.contoso.com jsou neplatné.

Důležité informace a omezení používání zástupných znaků nebo více názvů hostitelů v naslouchacím procesu

  • Ukončení protokolu SSL a kompletní ssl vyžaduje, abyste protokol nakonfigurovali jako HTTPS a nahráli certifikát, který se má použít v konfiguraci naslouchacího procesu. Pokud se jedná o naslouchací proces pro více webů, můžete zadat také název hostitele, obvykle se jedná o cn certifikátu SSL. Při zadávání více názvů hostitelů v naslouchacím procesu nebo použití zástupných znaků musíte zvážit následující:
    • Pokud se jedná o zástupný název hostitele, jako je *.contoso.com, musíte nahrát certifikát se zástupným znakem, například *.contoso.com
    • Pokud je ve stejném naslouchacím procesu uvedeno více názvů hostitelů, musíte nahrát certifikát SAN (Alternativní názvy subjektu) s názvy hostitelů odpovídajícími uvedeným názvům hostitelů.
  • Regulární výraz nemůžete použít ke zmínce názvu hostitele. K vytvoření vzoru názvu hostitele můžete použít pouze zástupné znaky, jako je hvězdička (*) a otazník (?).
  • U kontroly stavu back-endu nemůžete přidružit více vlastních sond na nastavení HTTP. Místo toho můžete testovat jeden z webů v back-endu nebo pomocí 127.0.0.1 testovat místního hostitele back-endového serveru. Pokud ale v naslouchacím procesu používáte zástupný znak nebo více názvů hostitelů, požadavky na všechny zadané vzory domény se směrují do back-endového fondu v závislosti na typu pravidla (základní nebo založené na cestě).
  • Vlastnost "hostname" přebírá jako vstup jeden řetězec, kde můžete zmínit pouze jeden název domény bez zástupných znaků. Vlastnost "hostnames" přebírá jako vstup pole řetězců, kde můžete zmínit až 5 názvů domén se zástupnými znaky. Obě tyto vlastnosti nelze použít najednou.

Podrobné pokyny ke konfiguraci názvů hostitelů se zástupnými výjimkou v naslouchacím procesu s více lokalitami najdete v tématu Vytvoření více webů pomocí Azure PowerShellu nebo Azure CLI .

Naslouchací proces pro více webů pro naslouchací procesy PROTOKOLU TLS a TCP

Funkce s více lokalitami je dostupná také pro proxy vrstvy 4, ale pouze pro naslouchací procesy TLS. Provoz pro každou aplikaci můžete směrovat do back-endového fondu zadáním názvů domén v naslouchacím procesu TLS. Pro fungování funkce ve více lokalitách u naslouchacích procesů TLS používá Application Gateway hodnotu SNI (Server Name Indication) (klienti primárně prezentují rozšíření SNI k načtení správného certifikátu TLS). Naslouchací proces TLS ve více lokalitách by vybral tuto hodnotu SNI z dat handshake protokolu TLS příchozího připojení a směroval toto připojení do příslušného back-endového fondu. Připojení TCP nemá ze své podstaty žádný koncept názvu hostitele nebo názvu domény; proto není k dispozici pro naslouchací procesy TCP.

Hlavičky hostitele a Identifikace názvu serveru (SNI)

Existují tři běžné mechanismy pro povolení hostování více webů ve stejné infrastruktuře.

  1. Hostování více webových aplikací, z nichž každá je na jedinečné IP adrese.
  2. Použití názvu hostitele k hostování více webových aplikací na stejné IP adrese.
  3. Použití různých portů k hostování více webových aplikací na stejné IP adrese.

Služba Application Gateway v současné době podporuje jednu veřejnou IP adresu, kde naslouchá provozu. Proto se v současné době nepodporuje více aplikací s vlastní IP adresou.

Application Gateway podporuje více aplikací, které naslouchají na různých portech, ale tento scénář vyžaduje, aby aplikace přijímaly provoz na nestandardních portech.

Služba Application Gateway se při hostování více než jednoho webu na stejné veřejné IP adrese a portu spoléhá na hlavičky hostitele HTTP 1.1. Weby hostované na aplikační bráně můžou také podporovat přesměrování zpracování PROTOKOLU TLS s rozšířením SNI (Server Name Indication). Tento scénář znamená, že klientský prohlížeč a back-endová webová farma musí podporovat HTTP/1.1 a rozšíření protokolu TLS, jak je definováno v dokumentu RFC 6066.

Další kroky

Informace o konfiguraci hostování více webů ve službě Application Gateway

Podívejte se na šablonu Resource Manageru s využitím hostování více webů pro kompletní nasazení založené na šablonách.