Sdílet prostřednictvím


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 se naučíte:

  • Vytvoření vlastnoručně podepsaného certifikátu
  • Nastavit síť
  • Vytvořit aplikační bránu s certifikátem
  • Přidejte naslouchací pravidlo a pravidlo přesměrování
  • Vytvořte škálovací sadu virtuálních počítačů s výchozím základním fondem

Pokud nemáte účet Azure, vytvořte si bezplatný účet 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í vlastnoručně podepsaného certifikátu

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 a soubor pfx pomocí příkazu openssl.

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out appgwcert.crt

Zadejte hodnoty, které mají smysl pro váš certifikát. Můžete přijmout 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 se vytvoří skupina prostředků s názvem myResourceGroupAG v lokalitě 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í informace, jako jsou kapacita, SKU a nastavení HTTP.

Aplikační brána je přiřazena k podsíti myAGSubnet a veřejné IP adrese myAGPublicIPAddress, kterou jste vytvořili předtím. V tomto příkladu přidružíte certifikát, který jste vytvořili, a jeho heslo při vytváření aplikační brány.

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í myAGPublicIPAddress k appGatewayHttpListener.
  • rule1 – výchozí pravidlo směrování přidružené k naslouchacímu procesu appGatewayHttpListener.

Přidejte naslouchací pravidlo a pravidlo přesměrování

Přidání portu HTTP

Můžete použít az network application-gateway frontend-port create k přidání portu HTTP do aplikační brány.

az network application-gateway frontend-port create \
  --port 80 \
  --gateway-name myAppGateway \
  --resource-group myResourceGroupAG \
  --name httpPort

Přidejte naslouchací proces 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řidejte konfiguraci 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í pro Application Gateway pomocí 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 fond pro backend v aplikační bráně. Virtuální počítače ve škálovací sadě jsou přidružené k myBackendSubnet a 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" }'

Testování aplikační brány

Pokud chcete získat veřejnou IP adresu služby Application Gateway, 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. Zabezpečená lokalita NGINX se pak zobrazí jako v následujícím příkladu:

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

Další kroky