Panoramica della configurazione del gateway applicazioneApplication Gateway configuration overview

Applicazione Azure gateway è costituito da diversi componenti che è possibile configurare in vari modi per diversi scenari.Azure Application Gateway consists of several components that you can configure in various ways for different scenarios. Questo articolo illustra come configurare ogni componente.This article shows you how to configure each component.

Diagramma di flusso dei componenti del gateway applicazione

Questa immagine illustra un'applicazione con tre listener.This image illustrates an application that has three listeners. I primi due sono listener multisito rispettivamente per http://acme.com/* e http://fabrikam.com/*.The first two are multi-site listeners for http://acme.com/* and http://fabrikam.com/*, respectively. Entrambi sono in ascolto sulla porta 80.Both listen on port 80. Il terzo è un listener di base con terminazione Secure Sockets Layer end-to-end (SSL).The third is a basic listener that has end-to-end Secure Sockets Layer (SSL) termination.

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione del modulo Az, vedere Installare Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

prerequisitiPrerequisites

Rete virtuale di Azure e subnet dedicataAzure virtual network and dedicated subnet

Un gateway applicazione è una distribuzione dedicata nella rete virtuale.An application gateway is a dedicated deployment in your virtual network. All'interno della rete virtuale è necessaria una subnet dedicata per il gateway applicazione.Within your virtual network, a dedicated subnet is required for the application gateway. È possibile avere più istanze di una determinata distribuzione del gateway applicazione in una subnet.You can have multiple instances of a given application gateway deployment in a subnet. È anche possibile distribuire altri gateway applicazione nella subnet.You can also deploy other application gateways in the subnet. Tuttavia, non è possibile distribuire altre risorse nella subnet del gateway applicazione.But you can't deploy any other resource in the application gateway subnet.

Nota

Non è possibile combinare Standard_v2 e il gateway applicazione Azure standard nella stessa subnet.You can't mix Standard_v2 and Standard Azure Application Gateway on the same subnet.

Dimensioni della subnetSize of the subnet

Il gateway applicazione USA 1 indirizzo IP privato per istanza, oltre a un altro indirizzo IP privato se è configurato un IP front-end privato.Application Gateway consumes 1 private IP address per instance, plus another private IP address if a private front-end IP is configured.

Azure riserva inoltre 5 indirizzi IP in ogni subnet per uso interno: i primi 4 e gli ultimi indirizzi IP.Azure also reserves 5 IP addresses in each subnet for internal use: the first 4 and the last IP addresses. Si considerino, ad esempio, 15 istanze del gateway applicazione senza IP front-end privato.For example, consider 15 application gateway instances with no private front-end IP. Sono necessari almeno 20 indirizzi IP per questa subnet: 5 per uso interno e 15 per le istanze del gateway applicazione.You need at least 20 IP addresses for this subnet: 5 for internal use and 15 for the application gateway instances. Quindi, è necessario disporre di una o più dimensioni della subnet/27.So, you need a /27 subnet size or larger.

Si consideri una subnet con 27 istanze del gateway applicazione e un indirizzo IP per un indirizzo IP front-end privato.Consider a subnet that has 27 application gateway instances and an IP address for a private front-end IP. In questo caso sono necessari 33 indirizzi IP: 27 per le istanze del gateway applicazione, 1 per il front-end privato e 5 per uso interno.In this case, you need 33 IP addresses: 27 for the application gateway instances, 1 for the private front end, and 5 for internal use. Quindi, è necessario disporre di una o più dimensioni della subnet/26.So, you need a /26 subnet size or larger.

Si consiglia di usare una dimensione della subnet pari ad almeno/28.We recommend that you use a subnet size of at least /28. Questa dimensione fornisce 11 indirizzi IP utilizzabili.This size gives you 11 usable IP addresses. Se il carico dell'applicazione richiede più di 10 istanze del gateway applicazione, prendere in considerazione una dimensione della subnet/27 o/26.If your application load requires more than 10 Application Gateway instances, consider a /27 or /26 subnet size.

Gruppi di sicurezza di rete nella subnet del gateway applicazioneNetwork security groups on the Application Gateway subnet

I gruppi di sicurezza di rete (gruppi) sono supportati nel gateway applicazione.Network security groups (NSGs) are supported on Application Gateway. Esistono tuttavia diverse limitazioni:But there are several restrictions:

  • È necessario consentire il traffico Internet in ingresso sulle porte TCP 65503-65534 per lo SKU del gateway applicazione V1 e le porte TCP 65200-65535 per lo SKU V2 con la subnet di destinazione come qualsiasi.You must allow incoming Internet traffic on TCP ports 65503-65534 for the Application Gateway v1 SKU, and TCP ports 65200-65535 for the v2 SKU with the destination subnet as Any. Questo intervallo di porte è necessario per la comunicazione di infrastruttura di Azure.This port range is required for Azure infrastructure communication. Queste porte sono protette (bloccate) dai certificati di Azure.These ports are protected (locked down) by Azure certificates. Le entità esterne, inclusi i clienti di tali gateway, non possono avviare modifiche su tali endpoint senza certificati appropriati.External entities, including the customers of those gateways, can't initiate changes on those endpoints without appropriate certificates in place.

  • La connettività Internet in uscita non può essere bloccata.Outbound internet connectivity can't be blocked. Le regole in uscita predefinite in NSG consentono la connettività Internet.Default outbound rules in the NSG allow internet connectivity. È consigliabile:We recommend that you:

    • Non rimuovere le regole in uscita predefinite.Don't remove the default outbound rules.
    • Non creare altre regole in uscita che negano la connettività Internet in uscita.Don't create other outbound rules that deny outbound internet connectivity.
  • È necessario consentire il traffico dal tag AzureLoadBalancer .Traffic from the AzureLoadBalancer tag must be allowed.

Consentire l'accesso del gateway applicazione ad alcuni IP di origineAllow Application Gateway access to a few source IPs

Per questo scenario, usare gruppi nella subnet del gateway applicazione.For this scenario, use NSGs on the Application Gateway subnet. Inserire le restrizioni seguenti sulla subnet in questo ordine di priorità:Put the following restrictions on the subnet in this order of priority:

  1. Consentire il traffico in ingresso da un IP di origine o da un intervallo IP e dalla destinazione come intera subnet del gateway applicazione o dall'indirizzo IP front-end privato configurato specifico.Allow incoming traffic from a source IP or IP range and the destination as either the entire Application Gateway subnet, or to the specific configured private front-end IP. Il NSG non funziona in un indirizzo IP pubblico.The NSG doesn't work on a public IP.
  2. Consentire le richieste in ingresso da tutte le origini alle porte 65503-65534 per lo SKU del gateway applicazione V1 e le porte 65200-65535 per lo SKU V2 per la comunicazione di integrità back-end.Allow incoming requests from all sources to ports 65503-65534 for the Application Gateway v1 SKU, and ports 65200-65535 for v2 SKU for back-end health communication. Questo intervallo di porte è necessario per la comunicazione di infrastruttura di Azure.This port range is required for Azure infrastructure communication. Queste porte sono protette (bloccate) dai certificati di Azure.These ports are protected (locked down) by Azure certificates. Senza i certificati appropriati, le entità esterne non possono avviare le modifiche in tali endpoint.Without appropriate certificates in place, external entities can't initiate changes on those endpoints.
  3. Consentire i probe di Azure Load Balancer in ingresso (tagAzureLoadBalancer ) e il traffico di rete virtuale in ingresso (tagvirtualnetwork ) nel gruppo di sicurezza di rete.Allow incoming Azure Load Balancer probes (AzureLoadBalancer tag) and inbound virtual network traffic (VirtualNetwork tag) on the network security group.
  4. Bloccare tutto il traffico in ingresso usando una regola Deny-all.Block all other incoming traffic by using a deny-all rule.
  5. Consentire il traffico in uscita a Internet per tutte le destinazioni.Allow outbound traffic to the internet for all destinations.

Route definite dall'utente supportate nella subnet del gateway applicazioneUser-defined routes supported on the Application Gateway subnet

Per lo SKU V1, le route definite dall'utente (UDR) sono supportate nella subnet del gateway applicazione, purché non modifichino la comunicazione di richiesta/risposta end-to-end.For the v1 SKU, user-defined routes (UDRs) are supported on the Application Gateway subnet, as long as they don't alter end-to-end request/response communication. Ad esempio, è possibile configurare un UDR nella subnet del gateway applicazione in modo che punti a un'appliance firewall per l'ispezione dei pacchetti.For example, you can set up a UDR in the Application Gateway subnet to point to a firewall appliance for packet inspection. È tuttavia necessario assicurarsi che il pacchetto possa raggiungere la destinazione prevista dopo l'ispezione.But you must make sure that the packet can reach its intended destination after inspection. In caso contrario, potrebbe verificarsi un comportamento non corretto del probe di integrità o del routing del traffico.Failure to do so might result in incorrect health-probe or traffic-routing behavior. Sono incluse le route apprese o le route 0.0.0.0/0 predefinite propagate dai gateway VPN o ExpressRoute di Azure nella rete virtuale.This includes learned routes or default 0.0.0.0/0 routes that are propagated by Azure ExpressRoute or VPN gateways in the virtual network.

Per lo SKU V2, UdR non sono supportati nella subnet del gateway applicazione.For the v2 SKU, UDRs are not supported on the Application Gateway subnet. Per altre informazioni, vedere applicazione Azure SKU del gateway V2.For more information, see Azure Application Gateway v2 SKU.

Nota

UdR non sono supportati per lo SKU V2.UDRs are not supported for the v2 SKU. Se è necessario UdR, è necessario continuare a distribuire lo SKU V1.If you require UDRs you should continue to deploy v1 SKU.

Nota

L'uso di UdR nella subnet del gateway applicazione fa sì che lo stato di integrità nella visualizzazione integrità back-end venga visualizzato come "sconosciuto".Using UDRs on the Application Gateway subnet causes the health status in the back-end health view to appear as "Unknown." Causa anche la generazione di log e metriche del gateway applicazione in errore.It also causes generation of Application Gateway logs and metrics to fail. Si consiglia di non usare UdR nella subnet del gateway applicazione per poter visualizzare l'integrità, i log e le metriche del back-end.We recommend that you don't use UDRs on the Application Gateway subnet so that you can view the back-end health, logs, and metrics.

IP front-endFront-end IP

È possibile configurare il gateway applicazione in modo che disponga di un indirizzo IP pubblico, un indirizzo IP privato o entrambi.You can configure the application gateway to have a public IP address, a private IP address, or both. Un indirizzo IP pubblico è obbligatorio quando si ospita un back-end a cui i client devono accedere tramite Internet tramite un indirizzo IP virtuale (VIP) con connessione Internet.A public IP is required when you host a back end that clients must access over the internet via an internet-facing virtual IP (VIP).

Un indirizzo IP pubblico non è obbligatorio per un endpoint interno non esposto a Internet.A public IP isn't required for an internal endpoint that's not exposed to the internet. Noto come endpoint di bilanciamento del carico interno (ILB) o IP front-end privato.That's known as an internal load-balancer (ILB) endpoint or private frontend IP. Un ILB del gateway applicazione è utile per le applicazioni line-of-business interne che non sono esposte a Internet.An application gateway ILB is useful for internal line-of-business applications that aren't exposed to the internet. È utile anche per i servizi e i livelli in un'applicazione multilivello all'interno di un limite di sicurezza non esposto a Internet, ma che richiedono la distribuzione del carico Round Robin, la appiccicosità della sessione o la terminazione SSL.It's also useful for services and tiers in a multi-tier application within a security boundary that aren't exposed to the internet but that require round-robin load distribution, session stickiness, or SSL termination.

È supportato un solo indirizzo IP pubblico o un indirizzo IP privato.Only 1 public IP address or 1 private IP address is supported. Quando si crea il gateway applicazione, è possibile scegliere l'indirizzo IP front-end.You choose the front-end IP when you create the application gateway.

  • Per un indirizzo IP pubblico è possibile creare un nuovo indirizzo IP pubblico o usare un indirizzo IP pubblico esistente nello stesso percorso del gateway applicazione.For a public IP, you can create a new public IP address or use an existing public IP in the same location as the application gateway. Per ulteriori informazioni, vedere static vs. Dynamic Public IP address.For more information, see static vs. dynamic public IP address.

  • Per un indirizzo IP privato, è possibile specificare un indirizzo IP privato dalla subnet in cui viene creato il gateway applicazione.For a private IP, you can specify a private IP address from the subnet where the application gateway is created. Se non si specifica un indirizzo IP arbitrario, viene selezionato automaticamente dalla subnet.If you don't specify one, an arbitrary IP address is automatically selected from the subnet. Il tipo di indirizzo IP selezionato (statico o dinamico) non può essere modificato in un secondo momento.The IP address type that you select (static or dynamic) can't be changed later. Per altre informazioni, vedere creare un gateway applicazione con un servizio di bilanciamento del carico interno.For more information, see Create an application gateway with an internal load balancer.

Un indirizzo IP front-end è associato a un listener, che controlla le richieste in ingresso sull'IP front-end.A front-end IP address is associated to a listener, which checks for incoming requests on the front-end IP.

ListenerListeners

Un listener è un'entità logica che controlla le richieste di connessione in ingresso tramite la porta, il protocollo, l'host e l'indirizzo IP.A listener is a logical entity that checks for incoming connection requests by using the port, protocol, host, and IP address. Quando si configura il listener, è necessario immettere i valori per questi che corrispondono ai valori corrispondenti nella richiesta in ingresso sul gateway.When you configure the listener, you must enter values for these that match the corresponding values in the incoming request on the gateway.

Quando si crea un gateway applicazione usando il portale di Azure, si crea anche un listener predefinito scegliendo il protocollo e la porta per il listener.When you create an application gateway by using the Azure portal, you also create a default listener by choosing the protocol and port for the listener. È possibile scegliere se abilitare il supporto di HTTP2 nel listener.You can choose whether to enable HTTP2 support on the listener. Dopo aver creato il gateway applicazione, è possibile modificare le impostazioni del listener predefinito (appGatewayHttpListener) o creare nuovi listener.After you create the application gateway, you can edit the settings of that default listener (appGatewayHttpListener) or create new listeners.

Tipo di listenerListener type

Quando si crea un nuovo listener, è possibile scegliere tra le funzionalità di base e multisito.When you create a new listener, you choose between basic and multi-site.

  • Se si desidera che tutte le richieste (per qualsiasi dominio) vengano accettate e inviate ai pool back-end, scegliere Basic.If you want all of your requests (for any domain) to be accepted and forwarded to backend pools, choose basic. Informazioni su come creare un gateway applicazione con un listener di base.Learn how to create an application gateway with a basic listener.

  • Se si desidera inviare richieste a diversi pool back-end in base all'intestazione o al nome host host , scegliere listener multisito, in cui è necessario specificare anche un nome host corrispondente alla richiesta in ingresso.If you want to forward requests to different backend pools based on the host header or hostname, choose multi-site listener, where you must also specify a hostname that matches with the incoming request. Questo perché il gateway applicazione si basa sulle intestazioni host HTTP 1,1 per ospitare più siti Web nello stesso indirizzo IP pubblico e porta.This is because Application Gateway relies on HTTP 1.1 host headers to host more than one website on the same public IP address and port.

Ordine dei listener di elaborazioneOrder of processing listeners

Per lo SKU V1, le richieste vengono confrontate in base all'ordine delle regole e al tipo di listener.For the v1 SKU, requests are matched according to the order of the rules and the type of listener. Se una regola con listener di base viene innanzitutto eseguita nell'ordine, viene elaborata per prima e accetterà qualsiasi richiesta per la combinazione di porta e indirizzo IP.If a rule with basic listener comes first in the order, it is processed first and will accept any request for that port and IP combination. Per evitare questo problema, configurare prima le regole con listener multisito ed effettuare il push della regola con il listener di base all'ultimo nell'elenco.To avoid this, configure the rules with multi-site listeners first and push the rule with the basic listener to the last in the list.

Per lo SKU V2, i listener multisito vengono elaborati prima dei listener di base.For the v2 SKU, multi-site listeners are processed before basic listeners.

IP front-endFront-end IP

Scegliere l'indirizzo IP front-end che si intende associare a questo listener.Choose the front-end IP address that you plan to associate with this listener. Il listener resterà in ascolto delle richieste in ingresso sull'IP.The listener will listen to incoming requests on this IP.

Porta front-endFront-end port

Scegliere la porta front-end.Choose the front-end port. Selezionare una porta esistente o crearne una nuova.Select an existing port or create a new one. Scegliere qualsiasi valore dall' intervallo di porte consentito.Choose any value from the allowed range of ports. È possibile utilizzare non solo le porte note, ad esempio 80 e 443, ma qualsiasi porta personalizzata consentita.You can use not only well-known ports, such as 80 and 443, but any allowed custom port that's suitable. Una porta può essere usata per i listener pubblici o per i listener privati.A port can be used for public-facing listeners or private-facing listeners.

ProtocolProtocol

Scegliere HTTP o HTTPS:Choose HTTP or HTTPS:

  • Se si sceglie HTTP, il traffico tra il client e il gateway applicazione non è crittografato.If you choose HTTP, the traffic between the client and the application gateway is unencrypted.

  • Scegliere HTTPS se si vuole la terminazione SSL o la crittografia SSL end-to-end.Choose HTTPS if you want SSL termination or end-to-end SSL encryption. Il traffico tra il client e il gateway applicazione è crittografato.The traffic between the client and the application gateway is encrypted. E la connessione SSL termina nel gateway applicazione.And the SSL connection terminates at the application gateway. Se si desidera la crittografia SSL end-to-end, è necessario scegliere HTTPS e configurare l'impostazione http back-end .If you want end-to-end SSL encryption, you must choose HTTPS and configure the back-end HTTP setting. Ciò garantisce che il traffico venga nuovamente crittografato durante il trasferimento dal gateway applicazione al back-end.This ensures that traffic is re-encrypted when it travels from the application gateway to the back end.

Per configurare la terminazione SSL e la crittografia SSL end-to-end, è necessario aggiungere un certificato al listener per consentire al gateway applicazione di derivare una chiave simmetrica.To configure SSL termination and end-to-end SSL encryption, you must add a certificate to the listener to enable the application gateway to derive a symmetric key. Questa operazione è determinata dalla specifica del protocollo SSL.This is dictated by the SSL protocol specification. La chiave simmetrica viene usata per crittografare e decrittografare il traffico inviato al gateway.The symmetric key is used to encrypt and decrypt the traffic that's sent to the gateway. Il certificato del gateway deve essere in formato PFX (Personal Information Exchange).The gateway certificate must be in Personal Information Exchange (PFX) format. Questo formato consente di esportare la chiave privata che il gateway usa per crittografare e decrittografare il traffico.This format lets you export the private key that the gateway uses to encrypt and decrypt traffic.

Certificati supportatiSupported certificates

Vedere certificati supportati per la terminazione SSL.See certificates supported for SSL termination.

Supporto del protocollo aggiuntivoAdditional protocol support

Supporto di HTTP2HTTP2 support

Il supporto del protocollo HTTP/2 è disponibile per i client che si connettono solo ai listener del gateway applicazione.HTTP/2 protocol support is available to clients that connect to application gateway listeners only. La comunicazione con i pool di server back-end avviene tramite HTTP/1.1.The communication to back-end server pools is over HTTP/1.1. Per impostazione predefinita, il supporto di HTTP/2 è disabilitato.By default, HTTP/2 support is disabled. Il seguente frammento di codice Azure PowerShell Mostra come abilitare questa procedura:The following Azure PowerShell code snippet shows how to enable this:

$gw = Get-AzApplicationGateway -Name test -ResourceGroupName hm

$gw.EnableHttp2 = $true

Set-AzApplicationGateway -ApplicationGateway $gw

Supporto per WebSocketWebSocket support

Il supporto di WebSocket è abilitato per impostazione predefinita.WebSocket support is enabled by default. Non è disponibile alcuna impostazione configurabile dall'utente per abilitarla o disabilitarla.There's no user-configurable setting to enable or disable it. È possibile usare WebSocket con listener HTTP e HTTPS.You can use WebSockets with both HTTP and HTTPS listeners.

Pagine di errore personalizzateCustom error pages

È possibile definire un errore personalizzato a livello globale o a livello di listener.You can define custom error at the global level or the listener level. Tuttavia, la creazione di pagine di errore personalizzate a livello globale dalla portale di Azure non è attualmente supportata.But creating global-level custom error pages from the Azure portal is currently not supported. È possibile configurare una pagina di errore personalizzata per un errore 403 web application firewall o una pagina di manutenzione 502 a livello di listener.You can configure a custom error page for a 403 web application firewall error or a 502 maintenance page at the listener level. È inoltre necessario specificare un URL BLOB accessibile pubblicamente per il codice di stato di errore specificato.You must also specify a publicly accessible blob URL for the given error status code. Per altre informazioni, vedere Create Application Gateway custom error pages (Creare pagine di errore personalizzate del gateway applicazione).For more information, see Create Application Gateway custom error pages.

Codici di errore del gateway applicazione

Per configurare una pagina di errore globale personalizzata, vedere configurazione Azure PowerShell.To configure a global custom error page, see Azure PowerShell configuration.

Criteri SSLSSL policy

È possibile centralizzare la gestione dei certificati SSL e ridurre l'overhead di decrittografia della crittografia per un server farm back-end.You can centralize SSL certificate management and reduce encryption-decryption overhead for a back-end server farm. La gestione centralizzata di SSL consente anche di specificare criteri SSL centrali adatti ai requisiti di sicurezza.Centralized SSL handling also lets you specify a central SSL policy that's suited to your security requirements. È possibile scegliere criteri SSL predefiniti, predefinitio personalizzati .You can choose default, predefined, or custom SSL policy.

Configurare i criteri SSL per controllare le versioni del protocollo SSL.You configure SSL policy to control SSL protocol versions. È possibile configurare un gateway applicazione per l'uso di una versione del protocollo minima per handshake TLS da TLS 1.0, TLS 1.1 e TLS 1.2.You can configure an application gateway to use a minumum protocol version for TLS handshakes from TLS1.0, TLS1.1, and TLS1.2. Per impostazione predefinita, SSL 2,0 e 3,0 sono disabilitati e non sono configurabili.By default, SSL 2.0 and 3.0 are disabled and aren't configurable. Per altre informazioni, vedere Panoramica dei criteri SSL del gateway applicazione.For more information, see Application Gateway SSL policy overview.

Dopo aver creato un listener, associarlo a una regola di routing delle richieste.After you create a listener, you associate it with a request-routing rule. Tale regola determina il modo in cui le richieste ricevute nel listener vengono instradate al back-end.That rule determines how requests that are received on the listener are routed to the back end.

Regole di routing richiesteRequest routing rules

Quando si crea un gateway applicazione usando il portale di Azure, si crea una regola predefinita (Rule1).When you create an application gateway by using the Azure portal, you create a default rule (rule1). Questa regola associa il listener predefinito (appGatewayHttpListener) con il pool back-end predefinito (appGatewayBackendPool) e le impostazioni http back-end predefinite (appGatewayBackendHttpSettings).This rule binds the default listener (appGatewayHttpListener) with the default back-end pool (appGatewayBackendPool) and the default back-end HTTP settings (appGatewayBackendHttpSettings). Dopo aver creato il gateway, è possibile modificare le impostazioni della regola predefinita o creare nuove regole.After you create the gateway, you can edit the settings of the default rule or create new rules.

Tipo di regolaRule type

Quando si crea una regola, è possibile scegliere tra base e basata sul percorso.When you create a rule, you choose between basic and path-based.

  • Scegliere di base se si desidera inviare tutte le richieste nel listener associato (ad esempio, Blog. contoso.com/*) a un singolo pool back-end.Choose basic if you want to forward all requests on the associated listener (for example, blog.contoso.com/*) to a single back-end pool.
  • Scegliere basato sul percorso se si desidera instradare le richieste da percorsi URL specifici a pool back-end specifici.Choose path-based if you want to route requests from specific URL paths to specific back-end pools. Il modello di percorso viene applicato solo al percorso dell'URL, non ai parametri della query.The path pattern is applied only to the path of the URL, not to its query parameters.

Ordine delle regole di elaborazioneOrder of processing rules

Per lo SKU V1, i criteri di ricerca delle richieste in ingresso vengono elaborati nell'ordine in cui i percorsi sono elencati nella mappa del percorso URL della regola basata sul percorso.For the v1 SKU, pattern matching of incoming requests is processed in the order that the paths are listed in the URL path map of the path-based rule. Se una richiesta corrisponde al modello in due o più percorsi nella mappa di percorso, il percorso elencato per primo viene associato.If a request matches the pattern in two or more paths in the path map, the path that's listed first is matched. E la richiesta viene trasmessa al back-end associato a tale percorso.And the request is forwarded to the back end that's associated with that path.

Per lo SKU V2, una corrispondenza esatta è più alta rispetto all'ordine dei percorsi nel mapping del percorso URL.For the v2 SKU, an exact match is higher priority than path order in the URL path map. Se una richiesta corrisponde al modello in due o più percorsi, la richiesta viene trasmessa al back-end associato al percorso che corrisponde esattamente alla richiesta.If a request matches the pattern in two or more paths, the request is forwarded to the back end that's associated with the path that exactly matches the request. Se il percorso nella richiesta in ingresso non corrisponde esattamente ad alcun percorso della mappa, la corrispondenza dei criteri della richiesta viene elaborata nell'elenco degli ordini della mappa di percorso per la regola basata sul percorso.If the path in the incoming request doesn't exactly match any path in the map, pattern matching of the request is processed in the path map order list for the path-based rule.

Listener associatoAssociated listener

Associare un listener alla regola in modo che la regola di routing richiesta associata al listener venga valutata per determinare il pool back-end a cui indirizzare la richiesta.Associate a listener to the rule so that the request-routing rule that's associated with the listener is evaluated to determine the back-end pool to route the request to.

Pool back-end associatoAssociated back-end pool

Associare alla regola il pool back-end che contiene le destinazioni di back-end che gestiscono le richieste ricevute dal listener.Associate to the rule the back-end pool that contains the back-end targets that serve requests that the listener receives.

  • Per una regola di base è consentito un solo pool back-end.For a basic rule, only one back-end pool is allowed. Tutte le richieste sul listener associato vengono inviate al pool back-end.All requests on the associated listener are forwarded to that back-end pool.

  • Per una regola basata sul percorso, aggiungere più pool back-end che corrispondono a ogni percorso URL.For a path-based rule, add multiple back-end pools that correspond to each URL path. Le richieste che corrispondono al percorso URL immesso vengono inviate al pool back-end corrispondente.The requests that match the URL path that's entered are forwarded to the corresponding back-end pool. Aggiungere inoltre un pool back-end predefinito.Also, add a default back-end pool. Le richieste che non corrispondono ad alcun percorso URL nella regola vengono inviate a tale pool.Requests that don't match any URL path in the rule are forwarded to that pool.

Impostazione HTTP back-end associataAssociated back-end HTTP setting

Aggiungere un'impostazione HTTP back-end per ogni regola.Add a back-end HTTP setting for each rule. Le richieste vengono indirizzate dal gateway applicazione alle destinazioni di back-end usando il numero di porta, il protocollo e altre informazioni specificate in questa impostazione.Requests are routed from the application gateway to the back-end targets by using the port number, protocol, and other information that's specified in this setting.

Per una regola di base è consentita una sola impostazione HTTP back-end.For a basic rule, only one back-end HTTP setting is allowed. Tutte le richieste sul listener associato vengono inviate alle destinazioni back-end corrispondenti utilizzando questa impostazione HTTP.All requests on the associated listener are forwarded to the corresponding back-end targets by using this HTTP setting.

Per una regola basata sul percorso, aggiungere più impostazioni HTTP back-end corrispondenti a ogni percorso URL.For a path-based rule, add multiple back-end HTTP settings that correspond to each URL path. Le richieste che corrispondono al percorso URL in questa impostazione vengono inviate alle destinazioni back-end corrispondenti usando le impostazioni HTTP che corrispondono a ogni percorso URL.Requests that match the URL path in this setting are forwarded to the corresponding back-end targets by using the HTTP settings that correspond to each URL path. Aggiungere inoltre un'impostazione HTTP predefinita.Also, add a default HTTP setting. Le richieste che non corrispondono ad alcun percorso URL in questa regola vengono inviate al pool back-end predefinito usando l'impostazione HTTP predefinita.Requests that don't match any URL path in this rule are forwarded to the default back-end pool by using the default HTTP setting.

Impostazione del reindirizzamentoRedirection setting

Se il reindirizzamento è configurato per una regola di base, tutte le richieste sul listener associato vengono reindirizzate alla destinazione.If redirection is configured for a basic rule, all requests on the associated listener are redirected to the target. Si tratta di un reindirizzamento globale .This is global redirection. Se il reindirizzamento è configurato per una regola basata sul percorso, vengono reindirizzate solo le richieste in un'area specifica del sito.If redirection is configured for a path-based rule, only requests in a specific site area are redirected. Un esempio è un'area del carrello acquisti indicata da /cart/* .An example is a shopping cart area that's denoted by /cart/*. Si tratta del reindirizzamento basato sul percorso .This is path-based redirection.

Per altre informazioni sui reindirizzamenti, vedere Panoramica del reindirizzamento del gateway applicazione.For more information about redirects, see Application Gateway redirect overview.

Tipo di ReindirizzamentoRedirection type

Scegliere il tipo di reindirizzamento necessario: permanente (301), temporaneo (307) , trovato (302) o vedere altro (303) .Choose the type of redirection required: Permanent(301), Temporary(307), Found(302), or See other(303).

Destinazione di ReindirizzamentoRedirection target

Scegliere un altro listener o un sito esterno come destinazione del reindirizzamento.Choose another listener or an external site as the redirection target.

ListenerListener

Scegliere listener come destinazione di reindirizzamento per reindirizzare il traffico da un listener a un altro sul gateway.Choose listener as the redirection target to redirect traffic from one listener to another on the gateway. Questa impostazione è obbligatoria quando si desidera abilitare il Reindirizzamento da HTTP a HTTPS.This setting is required when you want to enable HTTP-to-HTTPS redirection. Reindirizza il traffico dal listener di origine che controlla le richieste HTTP in ingresso al listener di destinazione che controlla le richieste HTTPS in ingresso.It redirects traffic from the source listener that checks for incoming HTTP requests to the destination listener that checks for incoming HTTPS requests. È anche possibile scegliere di includere la stringa di query e il percorso dalla richiesta originale nella richiesta che viene trasmessa alla destinazione di reindirizzamento.You can also choose to include the query string and path from the original request in the request that's forwarded to the redirection target.

Finestra di dialogo componenti gateway applicazione

Per ulteriori informazioni sul Reindirizzamento da HTTP a HTTPS, vedere:For more information about HTTP-to-HTTPS redirection, see:

Sito esternoExternal site

Scegliere sito esterno quando si desidera reindirizzare il traffico sul listener associato a questa regola a un sito esterno.Choose external site when you want to redirect the traffic on the listener that's associated with this rule to an external site. È possibile scegliere di includere la stringa di query dalla richiesta originale nella richiesta che viene trasmessa alla destinazione di reindirizzamento.You can choose to include the query string from the original request in the request that's forwarded to the redirection target. Non è possibile inviare il percorso al sito esterno che era presente nella richiesta originale.You can't forward the path to the external site that was in the original request.

Per ulteriori informazioni sul reindirizzamento, vedere:For more information about redirection, see:

Riscrivere l'impostazione dell'intestazione HTTPRewrite the HTTP header setting

Questa impostazione consente di aggiungere, rimuovere o aggiornare le intestazioni di richiesta e risposta HTTP mentre i pacchetti di richiesta e risposta vengono spostati tra il client e i pool back-end.This setting adds, removes, or updates HTTP request and response headers while the request and response packets move between the client and back-end pools. Per altre informazioni, vedere:For more information, see:

Impostazioni HTTPHTTP settings

Il gateway applicazione instrada il traffico verso i server back-end usando la configurazione specificata qui.The application gateway routes traffic to the back-end servers by using the configuration that you specify here. Dopo aver creato un'impostazione HTTP, è necessario associarla a una o più regole di routing delle richieste.After you create an HTTP setting, you must associate it with one or more request-routing rules.

Questa funzionalità è utile quando si desidera gestire una sessione utente sullo stesso server.This feature is useful when you want to keep a user session on the same server. I cookie gestiti dal gateway consentono al gateway applicazione di indirizzare il traffico successivo da una sessione utente allo stesso server per l'elaborazione.Gateway-managed cookies let the application gateway direct subsequent traffic from a user session to the same server for processing. Questo è importante quando lo stato della sessione viene salvato localmente nel server per una sessione utente.This is important when session state is saved locally on the server for a user session. Se l'applicazione non è in grado di gestire l'affinità basata su cookie, non è possibile usare questa funzionalità.If the application can't handle cookie-based affinity, you can't use this feature. Per usarlo, assicurarsi che i client supportino i cookie.To use it, make sure that the clients support cookies.

Esaurimento delle connessioniConnection draining

Lo svuotamento delle connessioni consente di rimuovere normalmente i membri del pool back-end durante gli aggiornamenti pianificati dei servizi.Connection draining helps you gracefully remove back-end pool members during planned service updates. È possibile applicare questa impostazione a tutti i membri di un pool back-end durante la creazione della regola.You can apply this setting to all members of a back-end pool during rule creation. Garantisce che tutte le istanze di annullamento della registrazione di un pool back-end non ricevano richieste nuove.It ensures that all de-registering instances of a back-end pool don't receive any new requests. Nel frattempo, le richieste esistenti possono essere completate entro un limite di tempo configurato.Meanwhile, existing requests are allowed to complete within a configured time limit. Lo svuotamento della connessione si applica alle istanze back-end che vengono rimosse in modo esplicito dal pool back-end.Connection draining applies to back-end instances that are explicitly removed from the back-end pool.

ProtocolProtocol

Il gateway applicazione supporta sia HTTP che HTTPS per il routing delle richieste ai server back-end.Application Gateway supports both HTTP and HTTPS for routing requests to the back-end servers. Se si sceglie HTTP, il traffico verso i server back-end non è crittografato.If you choose HTTP, traffic to the back-end servers is unencrypted. Se la comunicazione non crittografata non è accettabile, scegliere HTTPS.If unencrypted communication isn't acceptable, choose HTTPS.

Questa impostazione combinata con HTTPS nel listener supporta SSL end-to-end.This setting combined with HTTPS in the listener supports end-to-end SSL. Ciò consente di trasmettere in modo sicuro dati sensibili crittografati al back-end.This allows you to securely transmit sensitive data encrypted to the back end. Ogni server back-end nel pool back-end in cui è abilitato SSL end-to-end deve essere configurato con un certificato per consentire la comunicazione protetta.Each back-end server in the back-end pool that has end-to-end SSL enabled must be configured with a certificate to allow secure communication.

PortPort

Questa impostazione specifica la porta in cui i server back-end ascoltano il traffico dal gateway applicazione.This setting specifies the port where the back-end servers listen to traffic from the application gateway. È possibile configurare porte comprese tra 1 e 65535.You can configure ports ranging from 1 to 65535.

Timeout richiestaRequest timeout

Questa impostazione indica il numero di secondi di attesa del gateway applicazione per ricevere una risposta dal server back-end.This setting is the number of seconds that the application gateway waits to receive a response from the back-end server.

Esegui override del percorso back-endOverride back-end path

Questa impostazione consente di configurare un percorso di invio personalizzato facoltativo da usare quando la richiesta viene trasmessa al back-end.This setting lets you configure an optional custom forwarding path to use when the request is forwarded to the back end. Qualsiasi parte del percorso in ingresso che corrisponde al percorso personalizzato nel campo percorso back-end di sostituzione viene copiata nel percorso inviato.Any part of the incoming path that matches the custom path in the override backend path field is copied to the forwarded path. La tabella seguente illustra il funzionamento di questa funzionalità:The following table shows how this feature works:

  • Quando l'impostazione HTTP è associata a una regola di routing richiesta di base:When the HTTP setting is attached to a basic request-routing rule:

    Richiesta originaleOriginal request Esegui override del percorso back-endOverride back-end path Richiesta da inviare al back-endRequest forwarded to back end
    /Home//home/ /override./override/ /override/home//override/home/
    /home/secondhome//home/secondhome/ /override./override/ /override/home/secondhome//override/home/secondhome/
  • Quando l'impostazione HTTP è associata a una regola di routing delle richieste basata sul percorso:When the HTTP setting is attached to a path-based request-routing rule:

    Richiesta originaleOriginal request Regola percorsoPath rule Esegui override del percorso back-endOverride back-end path Richiesta da inviare al back-endRequest forwarded to back end
    /pathrule/home//pathrule/home/ regola/pathrule* /override./override/ /override/home//override/home/
    /pathrule/home/secondhome//pathrule/home/secondhome/ regola/pathrule* /override./override/ /override/home/secondhome//override/home/secondhome/
    /Home//home/ regola/pathrule* /override./override/ /override/home//override/home/
    /home/secondhome//home/secondhome/ regola/pathrule* /override./override/ /override/home/secondhome//override/home/secondhome/
    /pathrule/home//pathrule/home/ /pathrule/home*/pathrule/home* /override./override/ /override./override/
    /pathrule/home/secondhome//pathrule/home/secondhome/ /pathrule/home*/pathrule/home* /override./override/ /override/secondhome//override/secondhome/
    regola/pathrule/ regola/pathrule/ /override./override/ /override./override/

Usare per il servizio appUse for app service

Si tratta di un collegamento solo interfaccia utente che seleziona le due impostazioni necessarie per il back-end del servizio app Azure.This is a UI only shortcut that selects the two required settings for the Azure App Service back end. Consente di selezionare il nome host dall'indirizzo back-ende crea un nuovo probe personalizzato se non ne è già presente uno.It enables pick host name from back-end address, and it creates a new custom probe if you don't have one already. Per ulteriori informazioni, vedere la sezione pick host name from back-end Address setting di questo articolo. Viene creato un nuovo probe e l'intestazione del probe viene prelevata dall'indirizzo del membro back-end.(For more information, see the Pick host name from back-end address setting section of this article.) A new probe is created, and the probe header is picked from the back-end member’s address.

USA Probe personalizzatoUse custom probe

Questa impostazione associa un Probe personalizzato a un'impostazione http.This setting associates a custom probe with an HTTP setting. È possibile associare un solo Probe personalizzato a un'impostazione HTTP.You can associate only one custom probe with an HTTP setting. Se non si associa in modo esplicito un probe personalizzato, viene usato il Probe predefinito per monitorare l'integrità del back-end.If you don't explicitly associate a custom probe, the default probe is used to monitor the health of the back end. Si consiglia di creare un probe personalizzato per un maggiore controllo sul monitoraggio dello stato dei back-end.We recommend that you create a custom probe for greater control over the health monitoring of your back ends.

Nota

Il probe personalizzato non monitora l'integrità del pool back-end, a meno che l'impostazione HTTP corrispondente non sia associata in modo esplicito a un listener.The custom probe doesn't monitor the health of the back-end pool unless the corresponding HTTP setting is explicitly associated with a listener.

nome host di selezione dall'indirizzo back-endPick host name from back-end address

Questa funzionalità imposta dinamicamente l'intestazione host nella richiesta sul nome host del pool back-end.This capability dynamically sets the host header in the request to the host name of the back-end pool. Usa un indirizzo IP o un FQDN.It uses an IP address or FQDN.

Questa funzionalità aiuta quando il nome di dominio del back-end è diverso dal nome DNS del gateway applicazione e il back-end si basa su un'intestazione host specifica per la risoluzione nell'endpoint corretto.This feature helps when the domain name of the back end is different from the DNS name of the application gateway, and the back end relies on a specific host header to resolve to the correct endpoint.

Un caso di esempio è un servizio multi-tenant come back-end.An example case is multi-tenant services as the back end. Un servizio app è un servizio multi-tenant che usa uno spazio condiviso con un singolo indirizzo IP.An app service is a multi-tenant service that uses a shared space with a single IP address. È quindi possibile accedere a un servizio app solo tramite i nomi host configurati nelle impostazioni del dominio personalizzato.So, an app service can only be accessed through the hostnames that are configured in the custom domain settings.

Per impostazione predefinita, il nome di dominio personalizzato è example.azurewebsites.NET.By default, the custom domain name is example.azurewebsites.net. Per accedere al servizio app usando un gateway applicazione tramite un nome host non registrato in modo esplicito nel servizio app o tramite il nome di dominio completo del gateway applicazione, è necessario sostituire il nome host nella richiesta originale con il nome host del servizio app.To access your app service by using an application gateway through a hostname that's not explicitly registered in the app service or through the application gateway’s FQDN, you override the hostname in the original request to the app service’s hostname. A tale scopo, abilitare l'impostazione del nome host pick dall'indirizzo back-end .To do this, enable the pick host name from backend address setting.

Per un dominio personalizzato il cui nome DNS personalizzato esistente è mappato al servizio app, non è necessario abilitare questa impostazione.For a custom domain whose existing custom DNS name is mapped to the app service, you don't have to enable this setting.

Nota

Questa impostazione non è necessaria per ambiente del servizio app, ovvero una distribuzione dedicata.This setting is not required for App Service Environment, which is a dedicated deployment.

Override del nome hostHost name override

Questa funzionalità sostituisce l'intestazione host nella richiesta in ingresso nel gateway applicazione con il nome host specificato.This capability replaces the host header in the incoming request on the application gateway with the host name that you specify.

Se, ad esempio, si specifica www.contoso.com nell'impostazione nome host , la richiesta originale * https://appgw.eastus.cloudapp.azure.com/path1 viene modificata in * https://www.contoso.com/path1 quando la richiesta viene trasmessa al server back-end.For example, if www.contoso.com is specified in the Host name setting, the original request *https://appgw.eastus.cloudapp.azure.com/path1 is changed to *https://www.contoso.com/path1 when the request is forwarded to the back-end server.

Pool back-endBack-end pool

È possibile puntare un pool back-end a quattro tipi di membri back-end: una macchina virtuale specifica, un set di scalabilità di macchine virtuali, un indirizzo IP/FQDN o un servizio app.You can point a back-end pool to four types of backend members: a specific virtual machine, a virtual machine scale set, an IP address/FQDN, or an app service. Ogni pool back-end può puntare a più membri dello stesso tipo.Each back-end pool can point to multiple members of the same type. Il riferimento a membri di tipi diversi nello stesso pool back-end non è supportato.Pointing to members of different types in the same back-end pool isn't supported.

Dopo aver creato un pool back-end, è necessario associarlo a una o più regole di routing delle richieste.After you create a back-end pool, you must associate it with one or more request-routing rules. È inoltre necessario configurare i probe di integrità per ogni pool back-end nel gateway applicazione.You must also configure health probes for each back-end pool on your application gateway. Quando viene soddisfatta una condizione della regola di routing richieste, il gateway applicazione lo trasmette ai server integri (come determinato dai Probe di integrità) nel pool back-end corrispondente.When a request-routing rule condition is met, the application gateway forwards the traffic to the healthy servers (as determined by the health probes) in the corresponding back-end pool.

Probe di integritàHealth probes

Per impostazione predefinita, un gateway applicazione monitora l'integrità di tutte le risorse nel back-end.An application gateway monitors the health of all resources in its back end by default. È tuttavia consigliabile creare un probe personalizzato per ogni impostazione HTTP back-end per ottenere un maggiore controllo sul monitoraggio dell'integrità.But we strongly recommend that you create a custom probe for each back-end HTTP setting to get greater control over health monitoring. Per informazioni su come configurare un probe personalizzato, vedere impostazioni del probe di integrità personalizzato.To learn how to configure a custom probe, see Custom health probe settings.

Nota

Dopo aver creato un probe di integrità personalizzato, è necessario associarlo a un'impostazione HTTP back-end.After you create a custom health probe, you need to associate it to a back-end HTTP setting. Un probe personalizzato non monitorerà l'integrità del pool back-end, a meno che l'impostazione HTTP corrispondente non sia associata in modo esplicito a un listener usando una regola.A custom probe won't monitor the health of the back-end pool unless the corresponding HTTP setting is explicitly associated with a listener using a rule.

Passaggi successiviNext steps

Ora che si conoscono i componenti del gateway applicazione, è possibile:Now that you know about Application Gateway components, you can: