Application Gateway létrehozása HTTP-ről HTTPS-átirányításra az Azure PowerShell használatával
Az Azure PowerShell használatával létrehozhat egy TLS/SSL-végződésű tanúsítványt tartalmazó alkalmazásátjárót . Az útválasztási szabály a HTTP-forgalom átirányítására szolgál az application gateway HTTPS-portjához. Ebben a példában egy virtuálisgép-méretezési csoportot is létrehoz az Application Gateway háttérkészletéhez, amely két virtuálisgép-példányt tartalmaz.
Ebben a cikkben az alábbiakkal ismerkedhet meg:
- Önaláírt tanúsítvány létrehozása
- Hálózat beállítása
- Alkalmazásátjáró létrehozása a tanúsítvánnyal
- Figyelő és átirányítási szabály hozzáadása
- Virtuálisgép-méretezési csoport létrehozása az alapértelmezett háttérkészlettel
Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Ehhez az oktatóanyaghoz az Azure PowerShell-modul 1.0.0-s vagy újabb verziója szükséges. A verzió azonosításához futtassa a következőt: Get-Module -ListAvailable Az
. Ha frissíteni szeretne, olvassa el az Azure PowerShell-modul telepítését ismertető cikket. Az oktatóanyag parancsainak futtatásához az Azure-ral való kapcsolat létrehozásához is futnia Login-AzAccount
kell.
Önaláírt tanúsítvány létrehozása
Éles használat esetén egy megbízható szolgáltató által aláírt érvényes tanúsítványt kell importálnia. Ebben az oktatóanyagban egy önaláírt tanúsítványt hoz létre a New-SelfSignedCertificate parancsmaggal. Az Export-PfxCertificate parancsmagot a visszaadott ujjlenyomattal futtatva egy PFX-fájlt exportálhat a tanúsítványból.
New-SelfSignedCertificate `
-certstorelocation cert:\localmachine\my `
-dnsname www.contoso.com
Ennek nagyjából a következőképpen kell kinéznie:
PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my
Thumbprint Subject
---------- -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 CN=www.contoso.com
A PFX-fájl létrehozása az ujjlenyomattal:
$pwd = ConvertTo-SecureString -String "Azure123456!" -Force -AsPlainText
Export-PfxCertificate `
-cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
-FilePath c:\appgwcert.pfx `
-Password $pwd
Erőforráscsoport létrehozása
Az erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat. Hozzon létre egy myResourceGroupAG nevű Azure-erőforráscsoportot a New-AzResourceGroup használatával.
New-AzResourceGroup -Name myResourceGroupAG -Location eastus
Hálózati erőforrások létrehozása
Hozza létre a myBackendSubnet és a myAGSubnet alhálózat-konfigurációit a New-AzVirtualNetworkSubnetConfig használatával. Hozza létre a myVNet nevű virtuális hálózatot a New-AzVirtualNetwork használatával az alhálózat konfigurációival. Végül hozza létre a myAGPublicIPAddress nevű nyilvános IP-címet a New-AzPublicIpAddress használatával. Ezek az erőforrások biztosítják az alkalmazásátjáró és a hozzá kapcsolódó erőforrások hálózati kapcsolatát.
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet `
-AddressPrefix 10.0.1.0/24
$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myAGSubnet `
-AddressPrefix 10.0.2.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myVNet `
-AddressPrefix 10.0.0.0/16 `
-Subnet $backendSubnetConfig, $agSubnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myAGPublicIPAddress `
-AllocationMethod Dynamic
Application Gateway létrehozása
Az IP-konfigurációk és az előtérbeli port létrehozása
Társítsa a korábban létrehozott myAGSubnetet az Application Gatewayhez a New-AzApplicationGatewayIPConfiguration használatával. Rendelje hozzá a myAGPublicIPAddress parancsot az application gatewayhez a New-AzApplicationGatewayFrontendIPConfig használatával. Ezután létrehozhatja a HTTPS-portot a New-AzApplicationGatewayFrontendPort használatával.
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Name myVNet
$subnet=$vnet.Subnets[0]
$gipconfig = New-AzApplicationGatewayIPConfiguration `
-Name myAGIPConfig `
-Subnet $subnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPConfig `
-PublicIPAddress $pip
$frontendPort = New-AzApplicationGatewayFrontendPort `
-Name myFrontendPort `
-Port 443
A háttérkészlet létrehozása és beállítása
Hozza létre az appGatewayBackendPool nevű háttérkészletet az application gatewayhez a New-AzApplicationGatewayBackendAddressPool használatával. Konfigurálja a háttérkészlet beállításait a New-AzApplicationGatewayBackendHttp Gépház használatával.
$defaultPool = New-AzApplicationGatewayBackendAddressPool `
-Name appGatewayBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSettings `
-Name myPoolSettings `
-Port 80 `
-Protocol Http `
-CookieBasedAffinity Enabled `
-RequestTimeout 120
Az alapértelmezett figyelő és szabály létrehozása
A figyelő ahhoz szükséges, hogy az alkalmazásátjáró megfelelően irányíthassa a forgalmat a háttérkészlethez. Ebben a példában egy alapszintű figyelőt hoz létre, amely a gyökér URL-cím HTTPS-forgalmát figyeli.
Hozzon létre egy tanúsítványobjektumot a New-AzApplicationGatewaySslCertificate használatával, majd hozzon létre egy appGatewayHttpListener nevű figyelőt a New-AzApplicationGatewayHttpListener használatával a korábban létrehozott előtér-konfigurációval, előtérporttal és tanúsítvánnyal. A szabály ahhoz szükséges, hogy a figyelő tudja, melyik háttérkészletet használja a bejövő forgalomhoz. Hozzon létre egy szabály1 nevű alapvető szabályt a New-AzApplicationGatewayRequestRoutingRule használatával.
$pwd = ConvertTo-SecureString `
-String "Azure123456!" `
-Force `
-AsPlainText
$cert = New-AzApplicationGatewaySslCertificate `
-Name "appgwcert" `
-CertificateFile "c:\appgwcert.pfx" `
-Password $pwd
$defaultListener = New-AzApplicationGatewayHttpListener `
-Name appGatewayHttpListener `
-Protocol Https `
-FrontendIPConfiguration $fipconfig `
-FrontendPort $frontendPort `
-SslCertificate $cert
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
-Name rule1 `
-RuleType Basic `
-HttpListener $defaultListener `
-BackendAddressPool $defaultPool `
-BackendHttpSettings $poolSettings
Application Gateway létrehozása
Most, hogy létrehozta a szükséges támogató erőforrásokat, adja meg a myAppGateway nevű application gateway paramétereit a New-AzApplicationGatewaySku használatával, majd hozza létre a New-AzApplicationGateway használatával a tanúsítvánnyal.
$sku = New-AzApplicationGatewaySku `
-Name Standard_Medium `
-Tier Standard `
-Capacity 2
$appgw = New-AzApplicationGateway `
-Name myAppGateway `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-BackendAddressPools $defaultPool `
-BackendHttpSettingsCollection $poolSettings `
-FrontendIpConfigurations $fipconfig `
-GatewayIpConfigurations $gipconfig `
-FrontendPorts $frontendPort `
-HttpListeners $defaultListener `
-RequestRoutingRules $frontendRule `
-Sku $sku `
-SslCertificates $cert
Figyelő és átirányítási szabály hozzáadása
A HTTP-port hozzáadása
Adja hozzá a HTTP-portot az application gatewayhez az Add-AzApplicationGatewayFrontendPort használatával.
$appgw = Get-AzApplicationGateway `
-Name myAppGateway `
-ResourceGroupName myResourceGroupAG
Add-AzApplicationGatewayFrontendPort `
-Name httpPort `
-Port 80 `
-ApplicationGateway $appgw
A HTTP-figyelő hozzáadása
Adja hozzá a myListener nevű HTTP-figyelőt az application gatewayhez az Add-AzApplicationGatewayHttpListener használatával.
$fipconfig = Get-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPConfig `
-ApplicationGateway $appgw
$fp = Get-AzApplicationGatewayFrontendPort `
-Name httpPort `
-ApplicationGateway $appgw
Add-AzApplicationGatewayHttpListener `
-Name myListener `
-Protocol Http `
-FrontendPort $fp `
-FrontendIPConfiguration $fipconfig `
-ApplicationGateway $appgw
Az átirányítási konfiguráció hozzáadása
Adja hozzá a HTTP-t a HTTPS-átirányítási konfigurációhoz az Application Gatewayhez az Add-AzApplicationGatewayRedirectConfiguration használatával.
$defaultListener = Get-AzApplicationGatewayHttpListener `
-Name appGatewayHttpListener `
-ApplicationGateway $appgw
Add-AzApplicationGatewayRedirectConfiguration -Name httpToHttps `
-RedirectType Permanent `
-TargetListener $defaultListener `
-IncludePath $true `
-IncludeQueryString $true `
-ApplicationGateway $appgw
Az útválasztási szabály hozzáadása
Adja hozzá az átirányítási konfigurációt tartalmazó útválasztási szabályt az Application Gatewayhez az Add-AzApplicationGatewayRequestRoutingRule használatával.
$myListener = Get-AzApplicationGatewayHttpListener `
-Name myListener `
-ApplicationGateway $appgw
$redirectConfig = Get-AzApplicationGatewayRedirectConfiguration `
-Name httpToHttps `
-ApplicationGateway $appgw
Add-AzApplicationGatewayRequestRoutingRule `
-Name rule2 `
-RuleType Basic `
-HttpListener $myListener `
-RedirectConfiguration $redirectConfig `
-ApplicationGateway $appgw
Set-AzApplicationGateway -ApplicationGateway $appgw
Virtuálisgép-méretezési csoport létrehozása
Ebben a példában egy olyan virtuálisgép-méretezési csoportot hoz létre, amely kiszolgálókat biztosít a háttérkészlet számára az alkalmazásátjáróban. Az IP-beállítások konfigurálásakor hozzárendel egy méretezési csoportot a háttérkészlethez.
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Name myVNet
$appgw = Get-AzApplicationGateway `
-ResourceGroupName myResourceGroupAG `
-Name myAppGateway
$backendPool = Get-AzApplicationGatewayBackendAddressPool `
-Name appGatewayBackendPool `
-ApplicationGateway $appgw
$ipConfig = New-AzVmssIpConfig `
-Name myVmssIPConfig `
-SubnetId $vnet.Subnets[1].Id `
-ApplicationGatewayBackendAddressPoolsId $backendPool.Id
$vmssConfig = New-AzVmssConfig `
-Location eastus `
-SkuCapacity 2 `
-SkuName Standard_DS2 `
-UpgradePolicyMode Automatic
Set-AzVmssStorageProfile $vmssConfig `
-ImageReferencePublisher MicrosoftWindowsServer `
-ImageReferenceOffer WindowsServer `
-ImageReferenceSku 2016-Datacenter `
-ImageReferenceVersion latest `
-OsDiskCreateOption FromImage
Set-AzVmssOsProfile $vmssConfig `
-AdminUsername azureuser `
-AdminPassword "Azure123456!" `
-ComputerNamePrefix myvmss
Add-AzVmssNetworkInterfaceConfiguration `
-VirtualMachineScaleSet $vmssConfig `
-Name myVmssNetConfig `
-Primary $true `
-IPConfiguration $ipConfig
New-AzVmss `
-ResourceGroupName myResourceGroupAG `
-Name myvmss `
-VirtualMachineScaleSet $vmssConfig
Az IIS telepítése
$publicSettings = @{ "fileUris" = (,"https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/appgatewayurl.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File appgatewayurl.ps1" }
$vmss = Get-AzVmss -ResourceGroupName myResourceGroupAG -VMScaleSetName myvmss
Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
-Name "customScript" `
-Publisher "Microsoft.Compute" `
-Type "CustomScriptExtension" `
-TypeHandlerVersion 1.8 `
-Setting $publicSettings
Update-AzVmss `
-ResourceGroupName myResourceGroupAG `
-Name myvmss `
-VirtualMachineScaleSet $vmss
Az alkalmazásátjáró tesztelése
A Get-AzPublicIPAddress használatával lekérheti az application gateway nyilvános IP-címét. Másolja a nyilvános IP-címet, majd illessze be a böngésző címsorába. Például: http://52.170.203.149
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress
Ha önaláírt tanúsítványt használt, a biztonsági figyelmeztetés elfogadásához válassza a Részletek lehetőséget, majd válassza a Továbblépés a weblapra lehetőséget. Ekkor a biztonságos IIS-webhely a következő példához hasonlóan jelenik meg:
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: