Sdílet prostřednictvím


Integrace Application Gateway

Tento článek vás provede konfigurací služby Application Gateway se službou App Service pomocí privátních koncových bodů pro zabezpečení provozu. Tento článek také popisuje aspekty týkající se používání koncových bodů služby a integrace s interními a externími prostředími App Service Environment. Nakonec článek popisuje, jak nastavit omezení přístupu na webu Správce správy zdrojového kódu (SCM).

Integrace se službou App Service

Privátní koncové body můžete použít k zabezpečení provozu mezi službou Application Gateway a vaší aplikací App Service. Potřebujete zajistit, aby služba Application Gateway k překladu privátní IP adresy aplikací služby App Service používala DNS. Případně můžete použít privátní IP adresu v back-endovém fondu a přepsat název hostitele v nastavení HTTP.

Diagram znázorňující tok provozu do aplikační brány prostřednictvím privátního koncového bodu do instancí aplikací ve službě App Service

Application Gateway ukládá výsledky vyhledávání DNS do mezipaměti. Pokud používáte plně kvalifikované názvy domén (FQDN) a spoléháte se na vyhledávání DNS, abyste získali privátní IP adresu, možná budete muset restartovat aplikační bránu, pokud se po nakonfigurování back-endového fondu stane aktualizace DNS nebo odkaz na privátní zónu DNS Azure.

Pokud chcete restartovat aplikační bránu, zastavte ji a spusťte pomocí Azure CLI:

az network application-gateway stop --resource-group myRG --name myAppGw
az network application-gateway start --resource-group myRG --name myAppGw

Přečtěte si další informace o konfiguraci aplikace App Service s privátním koncovým bodem.

Důležité informace o používání koncových bodů služby

Jako alternativu k privátním koncovým bodům můžete použít koncové body služby k zabezpečení provozu ze služby Application Gateway. Pomocí koncových bodů služby můžete povolit provoz jenom z konkrétní podsítě ve virtuální síti Azure a blokovat všechno ostatní. V následujícím scénáři tuto funkci použijete k zajištění toho, aby instance služby App Service přijímala provoz pouze z konkrétní aplikační brány.

Diagram znázorňující tok internetu do aplikační brány ve virtuální síti Azure a následný průchod ikonou brány firewall do instancí aplikací ve službě App Service

Kromě vytvoření instance aplikace App Service a aplikační brány existují dvě části této konfigurace. První částí je povolení koncových bodů služby v podsíti virtuální sítě, ve které je služba Application Gateway nasazená. Koncové body služby zajišťují, aby veškerý síťový provoz opustil podsíť směrem ke službě App Service, označený konkrétním ID podsítě.

Druhou částí je nastavení omezení přístupu pro konkrétní webovou aplikaci, aby se zajistilo, že je povolený jenom provoz označený tímto konkrétním ID podsítě. Omezení přístupu můžete nakonfigurovat pomocí různých nástrojů v závislosti na vašich preferencích.

Pomocí webu Azure Portal vytvoříte a nakonfigurujete nastavení služby App Service a Application Gateway čtyřmi kroky. Pokud máte existující prostředky, můžete první kroky přeskočit.

  1. Vytvořte instanci služby App Service pomocí jednoho z rychlých startů v dokumentaci ke službě App Service. Jedním z příkladů je rychlý start pro .NET Core.
  2. Vytvořte aplikační bránu pomocí rychlého startu portálu, ale přeskočte část o přidávání back-endových cílů.
  3. Nakonfigurujte službu App Service jako back-end ve službě Application Gateway, ale přeskočte část o omezení přístupu.
  4. Vytvořte omezení přístupu pomocí koncových bodů služby.

Teď máte přístup ke službě App Service prostřednictvím služby Application Gateway. Pokud se pokusíte získat přímý přístup ke službě App Service, měla by se zobrazit chyba HTTP 403, která říká, že webová aplikace blokuje váš přístup.

Snímek obrazovky ukazuje text chyby 403 – Zakázáno.

Důležité informace pro interní službu App Service Environment

Interní prostředí App Service Environment není přístupné na internetu. Provoz mezi instancí a aplikační bránou je už izolovaný do virtuální sítě. Pokud chcete nakonfigurovat interní službu App Service Environment a integrovat ji se službou Application Gateway pomocí webu Azure Portal, přečtěte si průvodce postupy.

Pokud chcete zajistit, aby se do služby App Service Environment dostal pouze provoz z podsítě služby Application Gateway, můžete nakonfigurovat skupinu zabezpečení sítě (NSG), která ovlivňuje všechny webové aplikace ve službě App Service Environment. Pro skupinu zabezpečení sítě můžete zadat rozsah IP adres podsítě a volitelně porty (80/443).

Pokud chcete izolovat provoz do jednotlivé webové aplikace, musíte použít omezení přístupu na základě PROTOKOLU IP, protože koncové body služby nefungují se službou App Service Environment. IP adresa by měla být privátní IP adresa aplikační brány.

Důležité informace o externím prostředí App Service Environment

Externí služba App Service Environment má veřejně přístupný nástroj pro vyrovnávání zatížení, jako je víceklientských aplikací App Service. Koncové body služby nefungují pro službu App Service Environment. Ve službě App Service Environment můžete použít omezení přístupu na základě PROTOKOLU IP pomocí veřejné IP adresy aplikační brány. Pokud chcete vytvořit externí službu App Service Environment pomocí webu Azure Portal, můžete postupovat podle tohoto rychlého startu.

Privátní koncové body můžete také přidat do aplikací hostovaných v externím prostředí App Service Environment.

Důležité informace o lokalitě Kudu/SCM

Web SCM, označovaný také jako Kudu, je web pro správu, který existuje pro každou webovou aplikaci. Pro lokalitu SCM není možné použít reverzní proxy server. Pravděpodobně ho také chcete uzamknout na jednotlivé IP adresy nebo konkrétní podsíť.

Pokud chcete použít stejná omezení přístupu jako hlavní web, můžete nastavení zdědit pomocí následujícího příkazu:

az webapp config access-restriction set --resource-group myRG --name myWebApp --use-same-restrictions-for-scm-site

Pokud chcete přidat jednotlivá omezení přístupu pro web SCM, můžete použít --scm-site příznak:

az webapp config access-restriction add --resource-group myRG --name myWebApp --scm-site --rule-name KudoAccess --priority 200 --ip-address 208.130.0.0/16

Důležité informace o používání výchozí domény

Konfigurace služby Application Gateway pro přepsání názvu hostitele a použití výchozí domény služby App Service (obvykle azurewebsites.net) je nejjednodušší způsob konfigurace integrace. Nevyžaduje konfiguraci vlastní domény a certifikátu ve službě App Service.

Tento článek popisuje obecné aspekty přepsání původního názvu hostitele. Ve službě App Service existují dva scénáře, ve kterých je potřeba věnovat pozornost této konfiguraci.

Ověřování

Při použití funkce ověřování ve službě App Service (označované také jako Easy Auth) se vaše aplikace obvykle přesměruje na přihlašovací stránku. Vzhledem k tomu, že App Service nezná původní název hostitele požadavku, přesměrování se provádí u výchozího názvu domény a obvykle dojde k chybě.

Pokud chcete obejít výchozí přesměrování, můžete nakonfigurovat ověřování, abyste zkontrolovali přeposílanou hlavičku a přizpůsobili doménu přesměrování původní doméně. Application Gateway používá hlavičku s názvem X-Original-Host. Pomocí konfigurace založené na souborech ke konfiguraci ověřování můžete nakonfigurovat službu App Service tak, aby se přizpůsobila původnímu názvu hostitele. Přidejte tuto konfiguraci do konfiguračního souboru:

{
    ...
    "httpSettings": {
        "forwardProxy": {
            "convention": "Custom",
            "customHostHeaderName": "X-Original-Host"
        }
    }
    ...
}

Spřažení relací

V nasazeních s více instancemi spřažení relací zajišťuje směrování požadavků klientů do stejné instance po dobu životnosti relace. Spřažení relací lze nakonfigurovat tak, aby přizpůsobila doménu cookie příchozí hlavičce z reverzního proxy serveru. Konfigurací proxy spřažení relace na hodnotu true vyhledá X-Original-Host nebo X-Forwarded-Host přizpůsobí doménu souboru cookie doméně nalezené v této hlavičce. Jako doporučený postup při povolování proxy spřažení relací byste měli nakonfigurovat omezení přístupu na lokalitě, abyste zajistili, že provoz pochází z reverzního proxy serveru.

Konfiguraci můžete provést clientAffinityProxyEnabled také pomocí následujícího příkazu:

az resource update --resource-group myRG --name myWebApp --resource-type "Microsoft.Web/sites" --set properties.clientAffinityProxyEnabled=true

Další kroky

Další informace o službě App Service Environment najdete v dokumentaci ke službě App Service Environment.

Další zabezpečení webové aplikace najdete v dokumentaci ke službě Azure Web Application Firewall ve službě Application Gateway.

Pokud chcete nasadit zabezpečený a odolný web s vlastní doménou ve službě App Service pomocí služby Azure Front Door nebo Application Gateway, podívejte se na tento kurz.