Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan använda Azure CLI för att skapa en programgateway med ett certifikat för TLS/SSL-avslutning. En routningsregel används för att omdirigera HTTP-trafik till HTTPS-porten i din programgateway. I det här exemplet skapar du också en VM-skalningsuppsättning för serverdelspoolen för programgatewayen som innehåller två instanser av virtuella datorer.
I den här artikeln lär du dig att:
- Skapa ett självsignerat certifikat
- Konfigurera ett nätverk
- Skapa en programgateway med certifikatet
- Lägg till en lyssnare och omdirigeringsregel
- Skapa en skalningsuppsättning för virtuella maskiner med standardbackendpoolen.
Om du inte har något Azure-konto skapar du ett kostnadsfritt konto innan du börjar.
Förutsättningar
Använd Bash-miljön i Azure Cloud Shell. Mer information finns i Kom igång med Azure Cloud Shell.
Om du föredrar att köra CLI-referenskommandon lokalt installerar du Azure CLI. Om du kör på Windows eller macOS, överväg att köra Azure CLI i en Docker-container. För mer information, se Hur man kör Azure CLI i en Docker-container.
Om du använder en lokal installation loggar du in på Azure CLI med hjälp av kommandot az login. För att slutföra autentiseringsprocessen, följ stegen som visas i din terminal. Andra inloggningsalternativ finns i Autentisera till Azure med Azure CLI.
När du blir uppmanad, installera Azure CLI-tillägget vid första användning. Mer information om tillägg finns i Använda och hantera tillägg med Azure CLI.
Kör az version för att ta reda på versionen och de beroende bibliotek som är installerade. Om du vill uppgradera till den senaste versionen kör du az upgrade.
- Den här självstudien kräver version 2.0.4 eller senare av Azure CLI. Om du använder Azure Cloud Shell är den senaste versionen redan installerad.
Skapa ett självsignerat certifikat
För produktionsanvändning bör du importera ett giltigt certifikat som signerats av en betrodd provider. I den här självstudien skapar du ett självsignerat certifikat och en pfx-fil med hjälp av kommandot openssl.
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out appgwcert.crt
Ange värden som passar för certifikatet. Du kan acceptera standardvärdena.
openssl pkcs12 -export -out appgwcert.pfx -inkey privateKey.key -in appgwcert.crt
Ange lösenordet för certifikatet. I det här exemplet används Azure123456! .
Skapa en resursgrupp
En resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. Skapa en resursgrupp med az group create.
I följande exempel skapas en resursgrupp med namnet myResourceGroupAG på platsen eastus.
az group create --name myResourceGroupAG --location eastus
Skapa nätverksresurser
Skapa ett virtuellt nätverk med namnet myVNet och ett undernät med namnet myAGSubnet med az network vnet create. Du kan sedan lägga till det undernät med namnet myBackendSubnet som behövs av back-end-servrarna med az network vnet subnet create. Skapa den offentliga IP-adressen med namnet myAGPublicIPAddress med 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
Skapa programgatewayen
Du kan använda az network application-gateway create till att skapa en programgateway med namnet myAppGateway. När du skapar en programgateway med hjälp av Azure CLI anger du konfigurationsinformation, till exempel kapacitet, sku och HTTP-inställningar.
Programgatewayen tilldelas till myAGSubnet och myAGPublicIPAddress som du skapade tidigare. I det här exemplet associerar du certifikatet som du skapade och dess lösenord när du skapar programgatewayen.
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!"
Det kan ta flera minuter att skapa programgatewayen. När programgatewayen har skapats ser du de här nya funktionerna:
- appGatewayBackendPool – en programgateway måste ha minst en serverdelsadresspool.
- appGatewayBackendHttpSettings – anger att port 80 och ett HTTP-protokoll används för kommunikation.
- appGatewayHttpListener – standardlyssnaren som är associerad med appGatewayBackendPool.
- appGatewayFrontendIP – tilldelar myAGPublicIPAddress till appGatewayHttpListener.
- regel 1 – standardroutningsregel som är associerad med appGatewayHttpListener.
Lägg till en lyssnare och omdirigeringsregel
Lägg till HTTP-porten
Du kan använda az network application-gateway frontend-port create för att lägga till HTTP-porten i programgatewayen.
az network application-gateway frontend-port create \
--port 80 \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name httpPort
Lägg till HTTP-lyssnaren
Du kan använda az network application-gateway http-listener create för att lägga till lyssnaren med namnet myListener i programgatewayen.
az network application-gateway http-listener create \
--name myListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port httpPort \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway
Lägg till omdirigeringskonfigurationen
Lägg till HTTP till HTTPS-omdirigeringskonfigurationen till programgatewayen med 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
Lägg till routningsregeln
Lägg till routregeln med namnet rule2 med omdirigeringskonfigurationen till applikationsgatewayen med 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
Skapa en skalningsuppsättning för virtuella maskiner
I det här exemplet skapar du en vm-skalningsuppsättning med namnet myvmss som tillhandahåller servrar för serverdelspoolen i programgatewayen. De virtuella datorerna i skalningsuppsättningen är associerade med myBackendSubnet och appGatewayBackendPool. Du kan skapa skalningsuppsättningen med 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
Installera 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" }'
Testa programgatewayen
Du kan hämta den offentliga IP-adressen för programgatewayen med az network public-ip show. Kopiera den offentliga IP-adressen och klistra in den i webbläsarens adressfält.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Om du använde ett självsignerat certifikat och vill acceptera säkerhetsvarningen väljer du Information och sedan Fortsätt till webbsidan. Din skyddade NGINX-webbplats visas sedan som i följande exempel: