Kommentar
Å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.
Lär dig hur du konfigurerar TLS/SSL-principversioner och chiffersviter på Application Gateway. Du kan välja från en lista över fördefinierade principer som innehåller olika konfigurationer av TLS-principversioner och aktiverade chiffersviter. Du har också möjlighet att definiera en anpassad TLS-princip baserat på dina krav.
Viktigt!
Vi rekommenderar att du använder TLS 1.2 som lägsta TLS-protokollversion för bättre säkerhet på Application Gateway. Från och med den 31 augusti 2025 måste alla klienter och serverdelsservrar som interagerar med Azure Application Gateway använda Transport Layer Security (TLS) 1.2 eller senare, eftersom stödet för TLS 1.0 och 1.1 upphör.
Anmärkning
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i Migrera Azure PowerShell från AzureRM till Az.
Hämta tillgängliga TLS-alternativ
Cmdleten Get-AzApplicationGatewayAvailableSslOptions innehåller en lista över tillgängliga fördefinierade principer, tillgängliga chiffersviter och protokollversioner som kan konfigureras. I följande exempel visas ett exempel på utdata från att köra cmdleten.
Viktigt!
Gateways skapade med API-version 2023-02-01 eller senare använder AppGwSslPolicy20220101 som standard TLS-policy. Värdet DefaultPolicy i följande utdata rapporterar fortfarande AppGwSslPolicy20150501 eftersom Azure PowerShell och Azure CLI-stöd för den uppdaterade standarden ännu inte är tillgängligt. För att bekräfta att standardvärdet gäller för din gateway, kontrollera egenskapen skrivskyddad defaultPredefinedSslPolicy på resursen. För mer information, se TLS-policyöversikt.
DefaultPolicy: AppGwSslPolicy20150501
PredefinedPolicies:
/subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20150501
/subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401
/subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20170401S
/subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20220101
/subscriptions/xxx-xxx/resourceGroups//providers/Microsoft.Network/ApplicationGatewayAvailableSslOptions/default/Applic
ationGatewaySslPredefinedPolicy/AppGwSslPolicy20220101S
AvailableCipherSuites:
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
AvailableProtocols:
TLSv1_0
TLSv1_1
TLSv1_2
TLSv1_3
Lista fördefinierade TLS-principer
Application Gateway levereras med flera fördefinierade policyer som du kan använda. Cmdleten Get-AzApplicationGatewaySslPredefinedPolicy hämtar dessa principer. Varje princip har olika protokollversioner och chiffersviter aktiverade. Använd dessa fördefinierade policys för att snabbt konfigurera en TLS-policy på din applikationsgateway. Standardpolicyn som tillämpas när du inte definierar en specifik TLS-policy beror på vilken API-version som används för att skapa gatewayen: gateways skapade med API-version 2023-02-01 eller senare har som standard AppGwSslPolicy20220101, medan gateways skapade med tidigare API-versioner som standard har AppGwSslPolicy20150501. Eftersom stödet för TLS 1.0 och 1.1 upphörde den 31 augusti 2025, använd en fördefinierad policy från 2022 (AppGwSslPolicy20220101 eller AppGwSslPolicy20220101S) eller en CustomV2-policy så att klienter och backend-servrar förhandlar om TLS 1.2 eller högre. Om du behöver en specifik uppsättning chiffersviter kan du använda AppGwSslPolicy20170401S istället. De fördefinierade policyerna för 2022 och CustomV2-policyn finns endast tillgängliga på v2-SKU (Standard_v2 eller WAF_v2).
Följande utdata är ett exempel på hur du kör Get-AzApplicationGatewaySslPredefinedPolicy.
Name: AppGwSslPolicy20150501
MinProtocolVersion: TLSv1_0
CipherSuites:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_GCM_SHA384
...
Name: AppGwSslPolicy20170401
MinProtocolVersion: TLSv1_1
CipherSuites:
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
...
Konfigurera en anpassad TLS-policy
När du konfigurerar en anpassad TLS-policy, ange följande parametrar: PolicyType, MinProtocolVersion, CipherSuite, och ApplicationGateway. Om du försöker ange andra parametrar får du ett fel när du skapar eller uppdaterar applikationsgatewayen. I följande exempel anges en anpassad TLS-princip på en programgateway. Den anger lägsta protokollversion till TLSv1_2 och aktiverar följande chiffersviter:
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
# get an application gateway resource
$gw = Get-AzApplicationGateway -Name AdatumAppGateway -ResourceGroup AdatumAppGatewayRG
# set the TLS policy on the application gateway
Set-AzApplicationGatewaySslPolicy -ApplicationGateway $gw -PolicyType Custom -MinProtocolVersion TLSv1_2 -CipherSuite "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
# validate the TLS policy locally
Get-AzApplicationGatewaySslPolicy -ApplicationGateway $gw
# update the gateway with validated TLS policy
Set-AzApplicationGateway -ApplicationGateway $gw
Viktigt!
Chiffersviter TLS_AES_128_GCM_SHA256 och TLS_AES_256_GCM_SHA384 med TLSv1.3 är inte anpassningsbara och ingår som standard när man sätter en CustomV2-policy med minst TLS-version 1.2 eller 1.3. Dessa två chiffersviter visas inte i Get Details-utdatan, med undantag för Portal.
Om du vill ange lägsta protokollversion till 1.3 måste du använda följande kommando:
Set-AzApplicationGatewaySslPolicy -ApplicationGateway $AppGW -MinProtocolVersion TLSv1_3 -PolicyType CustomV2 -CipherSuite @()
Den här bilden förklarar vidare användningen av CustomV2-principen med minimiprotokollversionerna 1.2 och 1.3.
Skapa en programgateway med en fördefinierad TLS-princip
När du konfigurerar en fördefinierad TLS-princip skickar du följande parametrar: PolicyType, PolicyName och ApplicationGateway. Om du försöker skicka andra parametrar får du ett fel när du skapar eller uppdaterar Application Gateway.
I följande exempel skapas en ny programgateway med en fördefinierad TLS-princip.
# Create a resource group
$rg = New-AzResourceGroup -Name ContosoRG -Location "East US"
# Create a subnet for the application gateway
$subnet = New-AzVirtualNetworkSubnetConfig -Name subnet01 -AddressPrefix 10.0.0.0/24
# Create a virtual network with a 10.0.0.0/16 address space
$vnet = New-AzVirtualNetwork -Name appgwvnet -ResourceGroupName $rg.ResourceGroupName -Location "East US" -AddressPrefix 10.0.0.0/16 -Subnet $subnet
# Retrieve the subnet object for later use
$subnet = $vnet.Subnets[0]
# Create a public IP address (v2 requires a Standard SKU, static public IP address)
$publicip = New-AzPublicIpAddress -ResourceGroupName $rg.ResourceGroupName -name publicIP01 -location "East US" -AllocationMethod Static -Sku Standard
# Create an ip configuration object
$gipconfig = New-AzApplicationGatewayIPConfiguration -Name gatewayIP01 -Subnet $subnet
# Create a backend pool for backend web servers
$pool = New-AzApplicationGatewayBackendAddressPool -Name pool01 -BackendIPAddresses 134.170.185.46, 134.170.188.221,134.170.185.50
# Define the backend http settings to be used.
$poolSetting = New-AzApplicationGatewayBackendHttpSettings -Name poolsetting01 -Port 80 -Protocol Http -CookieBasedAffinity Enabled
# Create a new port for TLS
$fp = New-AzApplicationGatewayFrontendPort -Name frontendport01 -Port 443
# Upload an existing pfx certificate for TLS offload
$password = ConvertTo-SecureString -String "P@ssw0rd" -AsPlainText -Force
$cert = New-AzApplicationGatewaySslCertificate -Name cert01 -CertificateFile C:\folder\contoso.pfx -Password $password
# Create a frontend IP configuration for the public IP address
$fipconfig = New-AzApplicationGatewayFrontendIPConfig -Name fipconfig01 -PublicIPAddress $publicip
# Create a new listener with the certificate, port, and frontend ip.
$listener = New-AzApplicationGatewayHttpListener -Name listener01 -Protocol Https -FrontendIPConfiguration $fipconfig -FrontendPort $fp -SslCertificate $cert
# Create a new rule for backend traffic routing (rule priority is required)
$rule = New-AzApplicationGatewayRequestRoutingRule -Name rule01 -RuleType Basic -BackendHttpSettings $poolSetting -HttpListener $listener -BackendAddressPool $pool -Priority 100
# Define the size of the application gateway
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2 -Capacity 2
# Configure the TLS policy to use a different predefined policy
$policy = New-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName AppGwSslPolicy20220101S
# Create the application gateway.
$appgw = New-AzApplicationGateway -Name appgwtest -ResourceGroupName $rg.ResourceGroupName -Location "East US" -BackendAddressPools $pool -BackendHttpSettingsCollection $poolSetting -FrontendIpConfigurations $fipconfig -GatewayIpConfigurations $gipconfig -FrontendPorts $fp -HttpListeners $listener -RequestRoutingRules $rule -Sku $sku -SslCertificates $cert -SslPolicy $policy
Uppdatera en befintlig programgateway med en fördefinierad TLS-princip
Om du vill ange en anpassad TLS-princip skickar du följande parametrar: PolicyType, MinProtocolVersion, CipherSuite och ApplicationGateway. Om du vill ange en fördefinierad TLS-princip skickar du följande parametrar: PolicyType, PolicyName och ApplicationGateway. Om du försöker skicka andra parametrar får du ett fel när du skapar eller uppdaterar Application Gateway.
Anmärkning
Både äldre och nya (2022 Predefined eller CustomV2) SSL-policys kan inte samexistera på samma gateway. Om några klienter kräver chiffer som endast de äldre policyerna erbjuder, använd en äldre fördefinierad eller anpassad policy över gatewayen. Eftersom stödet för TLS 1.0 och 1.1 upphörde den 31 augusti 2025, förhandlar inte de äldre policyerna längre om dessa versioner: de 20150501 och 20170401 fördefinierade policyerna avvecklades, och den äldre anpassade policyn stöder endast TLS 1.2. För detaljer, se översikt över TLS-policyn.
I följande exempel finns det kodexempel för både anpassad princip och fördefinierad princip. Ta bort kommentaren för den policy du vill använda.
# You have to change these parameters to match your environment.
$AppGWname = "YourAppGwName"
$RG = "YourResourceGroupName"
$AppGw = get-Azapplicationgateway -Name $AppGWname -ResourceGroupName $RG
# Choose either custom policy or predefined policy and uncomment the one you want to use.
# TLS Custom Policy
# Set-AzApplicationGatewaySslPolicy -PolicyType Custom -MinProtocolVersion TLSv1_2 -CipherSuite "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_128_CBC_SHA256" -ApplicationGateway $AppGw
# TLS Predefined Policy
# Set-AzApplicationGatewaySslPolicy -PolicyType Predefined -PolicyName "AppGwSslPolicy20220101S" -ApplicationGateway $AppGW
# Update AppGW
# The TLS policy options are not validated or updated on the Application Gateway until this cmdlet is executed.
$SetGW = Set-AzApplicationGateway -ApplicationGateway $AppGW
Nästa steg
Gå till Översikt över omdirigering av Application Gateway för att lära dig hur du omdirigerar HTTP-trafik till en HTTPS-slutpunkt.
Se hur du konfigurerar lyssnarspecifika SSL-principer när du konfigurerar en SSL-lyssnarspecifik princip via portalen