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
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
- 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
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: