Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können Azure PowerShell verwenden, um Regeln zum Umschreiben von HTTP-Anforderungs- und Antwortheadern zu konfigurieren, wenn Sie die neue automatische und zonenredundante Anwendungsgateway-SKU erstellen.
In diesem Artikel erfahren Sie, wie Sie:
- Ein virtuelles Netzwerk mit automatischer Skalierung erstellen
- Erstellen einer reservierten öffentlichen IP
- Einrichten der Anwendungsgatewayinfrastruktur
- Geben Sie die HTTP-Header-Umschreiberegelkonfiguration an
- Automatische Skalierung angeben
- Erstellen des Anwendungsgateways
- Testen des Anwendungsgateways
Wenn Sie noch kein Azure-Abonnement haben, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
Voraussetzungen
Dieser Artikel erfordert, dass Sie Azure PowerShell lokal ausführen. Sie müssen az module version 1.0.0 oder höher installiert haben. Führen Sie Import-Module Az und dann Get-Module Az aus, um die Version zu finden. Wenn Sie ein Upgrade ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu. Führen Sie nach dem Überprüfen der PowerShell-Version Login-AzAccount aus, um eine Verbindung mit Azure zu erstellen.
Anmelden bei Azure
Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"
Erstellen einer Ressourcengruppe
Erstellen Sie eine Ressourcengruppe an einem der verfügbaren Speicherorte.
$location = "East US 2"
$rg = "<rg name>"
#Create a new Resource Group
New-AzResourceGroup -Name $rg -Location $location
Erstellen eines virtuellen Netzwerks
Erstellen Sie ein virtuelles Netzwerk mit einem dedizierten Subnetz für ein automatisch skalierendes Anwendungsgateway. Derzeit kann nur ein automatisches skalierendes Anwendungsgateway in jedem dedizierten Subnetz bereitgestellt werden.
#Create VNet with two subnets
$sub1 = New-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -AddressPrefix "10.0.0.0/24"
$sub2 = New-AzVirtualNetworkSubnetConfig -Name "BackendSubnet" -AddressPrefix "10.0.1.0/24"
$vnet = New-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg `
-Location $location -AddressPrefix "10.0.0.0/16" -Subnet $sub1, $sub2
Erstellen einer reservierten öffentlichen IP
Geben Sie die Zuordnungsmethode von PublicIPAddress als statisch an. Die virtuelle IP eines Anwendungsgateways mit automatischer Skalierung kann nur statisch sein. Dynamische IPs werden nicht unterstützt. Nur die standardmäßige PublicIpAddress-SKU wird unterstützt.
#Create static public IP
$pip = New-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" `
-location $location -AllocationMethod Static -Sku Standard
Abrufen von Details
Rufen Sie Details der Ressourcengruppe, des Subnetzes und der IP in einem lokalen Objekt ab, um die IP-Konfigurationsdetails für das Anwendungsgateway zu erstellen.
$resourceGroup = Get-AzResourceGroup -Name $rg
$publicip = Get-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP"
$vnet = Get-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -VirtualNetwork $vnet
Konfigurieren der Infrastruktur
Konfigurieren Sie die IP-Konfiguration, die Frontend-IP-Konfiguration, den Back-End-Pool, DIE HTTP-Einstellungen, das Zertifikat, den Port und den Listener in einem identischen Format wie das vorhandene Standardanwendungsgateway. Die neue SKU folgt dem gleichen Objektmodell wie die Standard-SKU.
$ipconfig = New-AzApplicationGatewayIPConfiguration -Name "IPConfig" -Subnet $gwSubnet
$fip = New-AzApplicationGatewayFrontendIPConfig -Name "FrontendIPCOnfig" -PublicIPAddress $publicip
$pool = New-AzApplicationGatewayBackendAddressPool -Name "Pool1" `
-BackendIPAddresses testbackend1.westus.cloudapp.azure.com, testbackend2.westus.cloudapp.azure.com
$fp01 = New-AzApplicationGatewayFrontendPort -Name "HTTPPort" -Port 80
$listener01 = New-AzApplicationGatewayHttpListener -Name "HTTPListener" `
-Protocol Http -FrontendIPConfiguration $fip -FrontendPort $fp01
$setting = New-AzApplicationGatewayBackendHttpSettings -Name "BackendHttpSetting1" `
-Port 80 -Protocol Http -CookieBasedAffinity Disabled
Spezifizieren Sie Ihre HTTP-Header-Umschreibregelkonfiguration
Konfigurieren Sie die neuen Objekte, die zum Umschreiben der HTTP-Header erforderlich sind:
RequestHeaderConfiguration: Dieses Objekt wird verwendet, um die Anforderungsheaderfelder anzugeben, in die Sie neu schreiben möchten, und den neuen Wert, in den die ursprünglichen Header umgeschrieben werden müssen.
ResponseHeaderConfiguration: Dieses Objekt wird verwendet, um die Antwortheaderfelder anzugeben, die Sie neu schreiben möchten, und den neuen Wert, in den die ursprünglichen Header neu geschrieben werden müssen.
ActionSet: Dieses Objekt enthält die Konfigurationen der oben angegebenen Anforderungs- und Antwortheader.
RewriteRule: Dieses Objekt enthält alle oben angegebenen actionSets .
RewriteRuleSet- dieses Objekt enthält alle rewriteRules und muss an eine Anforderungsroutingregel angefügt werden – einfach oder pfadbasiert.
$requestHeaderConfiguration = New-AzApplicationGatewayRewriteRuleHeaderConfiguration -HeaderName "X-isThroughProxy" -HeaderValue "True" $responseHeaderConfiguration = New-AzApplicationGatewayRewriteRuleHeaderConfiguration -HeaderName "Strict-Transport-Security" -HeaderValue "max-age=31536000" $actionSet = New-AzApplicationGatewayRewriteRuleActionSet -RequestHeaderConfiguration $requestHeaderConfiguration -ResponseHeaderConfiguration $responseHeaderConfiguration $rewriteRule = New-AzApplicationGatewayRewriteRule -Name rewriteRule1 -ActionSet $actionSet $rewriteRuleSet = New-AzApplicationGatewayRewriteRuleSet -Name rewriteRuleSet1 -RewriteRule $rewriteRule
Angeben der Routingregel
Erstellen Sie eine Anforderungsroutingregel. Nach der Erstellung wird diese Neuschreibkonfiguration über die Routingregel an den Quelllistener angefügt. Bei Verwendung einer einfachen Routingregel wird die Konfiguration der erneuten Generierung eines Headers einem Quelllistener zugeordnet und fungiert als erneute Generierung eines globalen Headers. Wenn eine pfadbasierte Routingregel verwendet wird, wird die Konfiguration der erneuten Generierung eines Headers in der URL-Pfadzuordnung definiert. Dies gilt also nur für den spezifischen Pfadbereich einer Website. Unten wird eine grundlegende Routingregel erstellt, und der Regelsatz zum Umschreiben wird angefügt.
$rule01 = New-AzApplicationGatewayRequestRoutingRule -Name "Rule1" -RuleType basic `
-BackendHttpSettings $setting -HttpListener $listener01 -BackendAddressPool $pool -RewriteRuleSet $rewriteRuleSet
Automatische Skalierung angeben
Jetzt können Sie die AutoScale-Konfiguration für das Anwendungsgateway angeben. Zwei automatische Skalierungskonfigurationstypen werden unterstützt:
Fester Kapazitätsmodus. In diesem Modus wird das Anwendungsgateway nicht automatisch skaliert und arbeitet mit einer festen Skalierungseinheitskapazität.
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2 -Capacity 2Automatischer Skalierungsmodus. In diesem Modus wird die automatische Skalierung des Anwendungsgateways basierend auf den Anwendungsdatenverkehrsmustern ausgeführt.
$autoscaleConfig = New-AzApplicationGatewayAutoscaleConfiguration -MinCapacity 2 $sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
Erstellen des Anwendungsgateways
Erstellen Sie das Anwendungsgateway, und schließen Sie Redundanzzonen und die Autoskalenkonfiguration ein.
$appgw = New-AzApplicationGateway -Name "AutoscalingAppGw" -Zone 1,2,3 -ResourceGroupName $rg -Location $location -BackendAddressPools $pool -BackendHttpSettingsCollection $setting -GatewayIpConfigurations $ipconfig -FrontendIpConfigurations $fip -FrontendPorts $fp01 -HttpListeners $listener01 -RequestRoutingRules $rule01 -Sku $sku -AutoscaleConfiguration $autoscaleConfig -RewriteRuleSet $rewriteRuleSet
Testen des Anwendungsgateways
Verwenden Sie Get-AzPublicIPAddress, um die öffentliche IP-Adresse des Anwendungsgateways abzurufen. Kopieren Sie die öffentliche IP-Adresse oder den DNS-Namen, und fügen Sie sie dann in die Adressleiste Ihres Browsers ein.
Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP
Bereinigen von Ressourcen
Untersuchen Sie zunächst die Ressourcen, die mit dem Anwendungsgateway erstellt wurden. Wenn sie dann nicht mehr benötigt werden, können Sie den Remove-AzResourceGroup Befehl verwenden, um die Ressourcengruppe, das Anwendungsgateway und alle zugehörigen Ressourcen zu entfernen.
Remove-AzResourceGroup -Name $rg