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

  • 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

Zabezpečené upozornění

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:

Testování základní adresy URL v aplikační bráně

Další kroky