Delen via


Een toepassingsgateway maken met HTTP-naar-HTTPS-omleiding met behulp van de Azure CLI

U kunt de Azure CLI gebruiken om een toepassingsgateway te maken met een certificaat voor TLS/SSL-beëindiging. Er wordt een routeringsregel gebruikt om HTTP-verkeer om te leiden naar de HTTPS-poort in uw toepassingsgateway. In dit voorbeeld maakt u ook een virtuele-machineschaalset voor de back-endpool van de toepassingsgateway die twee exemplaren van virtuele machines bevat.

In dit artikel leert u het volgende:

  • Een zelfondertekend certificaat maken
  • Een netwerk instellen
  • Een toepassingsgateway maken met behulp van het certificaat
  • Een listener en omleidingsregel toevoegen
  • Een virtuele-machineschaalset maken met de standaard back-endpool

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.

Vereisten

  • Voor deze zelfstudie is versie 2.0.4 of hoger van de Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.

Een zelfondertekend certificaat maken

Voor productiegebruik moet u een geldig certificaat importeren dat is ondertekend door een vertrouwde provider. U maakt voor deze zelfstudie een zelfondertekend certificaat en pfx-bestand via de openssl-opdracht.

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

Voer waarden in die voor uw certificaat van belang zijn. U kunt de standaardwaarden accepteren.

openssl pkcs12 -export -out appgwcert.pfx -inkey privateKey.key -in appgwcert.crt

Voer het wachtwoord voor het certificaat in. In dit voorbeeld wordt Azure123456! gebruikt.

Een brongroep maken

Een resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. Maak een resourcegroep met de opdracht az group create.

In het volgende voorbeeld wordt de resourcegroep myResourceGroupAG gemaakt op de locatie eastus.

az group create --name myResourceGroupAG --location eastus

Netwerkbronnen maken

Maak het virtuele netwerk myVNet en het subnet myAGSubnet met az network vnet create. Vervolgens kunt u het subnet myBackendSubnet toevoegen dat nodig is voor de back-endservers met behulp van az network vnet subnet create. Maak het openbare IP-adresmyAGPublicIPAddress met az network public-ip create.

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

De toepassingsgateway maken

U kunt az network application-gateway create gebruiken om de toepassingsgateway myAppGateway te maken. Als u met de Azure CLI een toepassingsgateway maakt, geeft u configuratiegegevens op, zoals capaciteit, SKU en HTTP-instellingen.

De toepassingsgateway wordt toegewezen aan myAGSubnet en myAGPublicIPAddress, die u zojuist hebt gemaakt. In dit voorbeeld koppelt u het certificaat dat u hebt gemaakt aan het wachtwoord als u de toepassingsgateway maakt.

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!"

Het kan enkele minuten duren voordat de toepassingsgateway is gemaakt. Nadat de toepassingsgateway is gemaakt, kunt u de volgende nieuwe functies ervan zien:

  • appGatewayBackendPool - Een toepassingsgateway moet minimaal één back-endadresgroep hebben.
  • appGatewayBackendHttpSettings: hiermee wordt aangegeven dat voor de communicatie poort 80 en een HTTP-protocol worden gebruikt.
  • appGatewayHttpListener: de standaard-listener die aan appGatewayBackendPool is gekoppeld.
  • appGatewayFrontendIP: hiermee wordt myAGPublicIPAddress aan appGatewayHttpListener toegewezen.
  • rule1 - De standaardrouteringsregel die aan appGatewayHttpListener is gekoppeld.

Een listener en omleidingsregel toevoegen

De HTTP-poort toevoegen

U kunt az network application-gateway frontend-port create gebruiken om de HTTP-poort toe te voegen aan de toepassingsgateway.

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

De HTTP-listener toevoegen

U kunt az network application-gateway http-listener create gebruiken om de listener met de naam myListener toe te voegen aan de toepassingsgateway.

az network application-gateway http-listener create \
  --name myListener \
  --frontend-ip appGatewayFrontendIP \
  --frontend-port httpPort \
  --resource-group myResourceGroupAG \
  --gateway-name myAppGateway

De omleidingsconfiguratie toevoegen

Voeg de CONFIGURATIE voor HTTP-naar-HTTPS-omleiding toe aan de toepassingsgateway met behulp van 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

De regel voor doorsturen toevoegen

Voeg de regel voor doorsturen met de naam rule2 toe met de omleidingsconfiguratie naar de toepassingsgateway met behulp van 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

Een virtuele-machineschaalset maken

In dit voorbeeld maakt u een virtuele-machineschaalset met de naam myvmss die servers biedt voor de back-endpool in de toepassingsgateway . De virtuele machines in de schaalset worden gekoppeld aan myBackendSubnet en appGatewayBackendPool. U kunt az vmss create gebruiken om de schaalset te maken.

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

NGINX installeren

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" }'

De toepassingsgateway testen

Gebruik az network public-ip show om het openbare IP-adres van de toepassingsgateway op te halen. Kopieer het openbare IP-adres en plak het in de adresbalk van de browser.

az network public-ip show \
  --resource-group myResourceGroupAG \
  --name myAGPublicIPAddress \
  --query [ipAddress] \
  --output tsv

Beveiligingswaarschuwing

Voor het accepteren van de beveiligingswaarschuwing als u een zelfondertekend certificaat hebt gebruikt, selecteert u Details en vervolgens Ga verder naar de webpagina. Uw beveiligde NGINX-site wordt vervolgens weergegeven zoals in het volgende voorbeeld:

Basis-URL testen in de toepassingsgateway

Volgende stappen