Vytvoření aplikační brány s přesměrováním HTTP na HTTPS pomocí Azure CLI
Pomocí Azure CLI můžete vytvořit aplikační bránu s certifikátem pro ukončení protokolu TLS/SSL. Pravidlo směrování se používá k přesměrování provozu HTTP na port HTTPS ve vaší aplikační bráně. V tomto příkladu vytvoříte také škálovací sadu virtuálních počítačů pro back-endový fond aplikační brány, která obsahuje dvě instance virtuálních počítačů.
V tomto článku získáte informace o těchto tématech:
- Vytvoření certifikátu podepsaného jeho držitelem (self-signed certificate)
- Nastavit síť
- Vytvořit aplikační bránu s certifikátem
- Přidání pravidla naslouchacího procesu a přesměrování
- Vytvoření škálovací sady virtuálních počítačů s výchozím back-endovým fondem
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Tento kurz vyžaduje verzi 2.0.4 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Vytvoření certifikátu podepsaného jeho držitelem (self-signed certificate)
Pro produkční použití byste měli importovat platný certifikát podepsaný důvěryhodným poskytovatelem. Pro účely tohoto kurzu vytvoříte certifikát podepsaný svým držitelem (self-signed certificate) a soubor pfx pomocí příkazu openssl.
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out appgwcert.crt
Zadejte požadované hodnoty certifikátu. Můžete také použít výchozí hodnoty.
openssl pkcs12 -export -out appgwcert.pfx -inkey privateKey.key -in appgwcert.crt
Zadejte heslo pro certifikát. V tomto příkladu se používá Azure123456! .
Vytvoření skupiny zdrojů
Skupina prostředků je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. Vytvořte skupinu prostředků pomocí příkazu az group create.
V následujícím příkladu vytvoříte skupinu prostředků s názvem myResourceGroupAG v umístění eastus.
az group create --name myResourceGroupAG --location eastus
Vytvoření síťových prostředků
Pomocí příkazu az network vnet create vytvořte virtuální síť s názvem myVNet a podsíť s názvem myAGSubnet. Pak můžete přidat podsíť s názvem myBackendSubnet , kterou potřebují back-endové servery, pomocí příkazu az network vnet subnet create. Pomocí příkazu az network public-ip create vytvořte veřejnou IP adresu s názvem myAGPublicIPAddress.
az network vnet create \
--name myVNet \
--resource-group myResourceGroupAG \
--location eastus \
--address-prefix 10.0.0.0/16 \
--subnet-name myAGSubnet \
--subnet-prefix 10.0.1.0/24
az network vnet subnet create \
--name myBackendSubnet \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--address-prefix 10.0.2.0/24
az network public-ip create \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress
Vytvoření služby Application Gateway
K vytvoření aplikační brány s názvem myAppGateway použijte příkaz az network application-gateway create. Při vytváření aplikační brány pomocí Azure CLI zadáte konfigurační údaje, jako je kapacita, skladová položka nebo nastavení HTTP.
Aplikační brána je přiřazena k již vytvořené podsíti myAGSubnet a adrese myAGPublicIPAddress. Při vytváření aplikační brány v tomto příkladu přidružíte certifikát, který jste vytvořili, a heslo.
az network application-gateway create \
--name myAppGateway \
--location eastus \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--subnet myAGsubnet \
--capacity 2 \
--sku Standard_Medium \
--http-settings-cookie-based-affinity Disabled \
--frontend-port 443 \
--http-settings-port 80 \
--http-settings-protocol Http \
--public-ip-address myAGPublicIPAddress \
--cert-file appgwcert.pfx \
--cert-password "Azure123456!"
Vytvoření aplikační brány může trvat několik minut. Po vytvoření aplikační brány se zobrazí tyto její nové funkce:
- appGatewayBackendPool – aplikační brána musí mít aspoň jeden back-endový fond adres.
- appGatewayBackendHttpSettings – určuje, že se ke komunikaci používá port 80 a protokol HTTP.
- appGatewayHttpListener – výchozí naslouchací proces přidružený k appGatewayBackendPool.
- appGatewayFrontendIP – přiřadí adresu myAGPublicIPAddress naslouchacímu procesu appGatewayHttpListener.
- rule1 – výchozí pravidlo směrování přidružené k naslouchacímu procesu appGatewayHttpListener.
Přidání pravidla naslouchacího procesu a přesměrování
Přidání portu HTTP
K přidání portu HTTP do aplikační brány můžete použít příkaz az network application-gateway frontend-port create .
az network application-gateway frontend-port create \
--port 80 \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name httpPort
Přidání naslouchacího procesu HTTP
Pomocí příkazu az network application-gateway http-listener create můžete přidat naslouchací proces s názvem myListener do aplikační brány.
az network application-gateway http-listener create \
--name myListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port httpPort \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway
Přidání konfigurace přesměrování
Přidejte konfiguraci přesměrování HTTP na HTTPS do služby Application Gateway pomocí příkazu az network application-gateway redirect-config create.
az network application-gateway redirect-config create \
--name httpToHttps \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--type Permanent \
--target-listener appGatewayHttpListener \
--include-path true \
--include-query-string true
Přidání pravidla směrování
Přidejte pravidlo směrování s názvem rule2 s konfigurací přesměrování do služby Application Gateway pomocí příkazu az network application-gateway rule create.
az network application-gateway rule create \
--gateway-name myAppGateway \
--name rule2 \
--resource-group myResourceGroupAG \
--http-listener myListener \
--rule-type Basic \
--redirect-config httpToHttps
Vytvoření škálovací sady virtuálních počítačů
V tomto příkladu vytvoříte škálovací sadu virtuálních počítačů s názvem myvmss , která poskytuje servery pro back-endový fond ve službě Application Gateway. Virtuální počítače jsou ve škálovací sadě přidruženy k podsíti myBackendSubnet a back-endovému fondu appGatewayBackendPool. K vytvoření škálovací sady použijte příkaz az vmss create.
az vmss create \
--name myvmss \
--resource-group myResourceGroupAG \
--image Ubuntu2204 \
--admin-username azureuser \
--admin-password Azure123456! \
--instance-count 2 \
--vnet-name myVNet \
--subnet myBackendSubnet \
--vm-sku Standard_DS2 \
--upgrade-policy-mode Automatic \
--app-gateway myAppGateway \
--backend-pool-name appGatewayBackendPool
Instalace serveru NGINX
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroupAG \
--vmss-name myvmss \
--settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"],
"commandToExecute": "./install_nginx.sh" }'
Otestování aplikační brány
K získání veřejné IP adresy aplikační brány můžete použít příkaz az network public-ip show. Zkopírujte veřejnou IP adresu a pak ji vložte do adresního řádku svého prohlížeče.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Pokud chcete přijímat upozornění zabezpečení v případě použití certifikátu podepsaného svým držitelem (self-signed certificate), vyberte Podrobnosti a potom Pokračovat na web. Následně se zobrazí váš zabezpečený web NGINX, jak je znázorněno v následujícím příkladu: