

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Listener per il Classic Load Balancer
<a name="elb-listener-config"></a>

Prima di iniziare a utilizzare Elastic Load Balancing, è necessario configurare uno o più *listener* per il Classic Load Balancer. Si definisce listener il processo che verifica la presenza di richieste di connessione. È configurato con un protocollo e una porta sia per connessioni front-end (dal client al load balancer) sia per connessioni back-end (dal load balancer all'istanza di back-end).

Elastic Load Balancing supporta i seguenti protocolli:
+ HTTP
+ HTTPS (HTTP protetto)
+ TCP
+ SSL (TCP protetto)

Il protocollo HTTPS utilizza il protocollo SSL per stabilire connessioni protette tramite il layer HTTP. È anche possibile utilizzare il protocollo HTTPS per stabilire connessioni protette tramite il layer TCP.

Se la connessione front-end utilizza TCP o SSL, le connessioni back-end possono utilizzare TCP o SSL. Se la connessione front-end utilizza HTTP o HTTPS, le connessioni back-end possono utilizzare HTTP or HTTPS.

Le istanze di back-end possono essere in ascolto sulle porte 1-65535.

I sistema di bilanciamento del carico possono essere in ascolto sulle seguenti porte: 1-65535

**Topics**
+ [Protocolli](#elb-listener-protocols)
+ [Listener HTTPS/SSL](#https-ssl-listeners)
+ [Configurazioni del listener per i Classic Load Balancer](using-elb-listenerconfig-quickref.md)
+ [Intestazioni HTTP e Classic Load Balancer](x-forwarded-headers.md)

## Protocolli
<a name="elb-listener-protocols"></a>

La comunicazione per una tipica applicazione Web avviene attraverso livelli di hardware e software. Ogni livello fornisce una funzione di comunicazione specifica. Il controllo sulla funzione di comunicazione viene trasferito da un livello a quello successivo, in sequenza. In questi livelli il modello OSI (Open System Interconnection) definisce un framework modello per l'implementazione di un formato standard per le comunicazioni, chiamato *protocollo*. Per ulteriori informazioni, consulta [Modello OSI](https://en.wikipedia.org/wiki/OSI_model) in Wikipedia.

Quando si utilizza Elastic Load Balancing, serve una comprensione di base del livello 4 e del livello 7. Il livello 4 è il livello di trasporto che descrive la connessione TCP (Transmission Control Protocol) tra il client e l'istanza di back-end, tramite il load balancer. Il livello 4 è il livello minimo configurabile per il load balancer. Il livello 7 è il livello applicativo che descrive l'uso delle connessioni HTTP (Hypertext Transfer Protocol) e HTTPS (HTTP protetto) dai client al load balancer e dal load balancer all'istanza di back-end.

Il protocollo Secure Sockets Layer (SSL) viene utilizzato principalmente per crittografare i dati riservati tramite reti non sicure, ad esempio Internet. Il protocollo SSL stabilisce una connessione sicura tra un client e un server di back-end e garantisce che tutti i dati trasferiti tra il client e il server siano privati e integri.

### Protocollo TCP/SSL
<a name="using-elb-tcp-layer4"></a>

Quando utilizzai TCP (livello 4) sia per le connessioni front-end che back-end, il load balancer inoltra la richiesta per le istanze di back-end senza modificare le intestazioni. Dopo che il load balancer riceve la richiesta, tenta di aprire una connessione TCP all'istanza di back-end sulla porta specificata nella configurazione del listener.

Poiché i bilanciatori del carico intercettano il traffico tra i client e le tue istanze di back-end, i log di accesso per la tua istanza di back-end contengono l'indirizzo IP del load balancer invece del client di origine. È possibile abilitare il protocollo proxy, che aggiunge un'intestazione con le informazioni di connessione del client, ad esempio l'indirizzo IP di origine, l'indirizzo IP di destinazione e i numeri di porta. L'intestazione viene quindi inviata all'istanza di back-end come parte della richiesta. Puoi analizzare la prima riga nella richiesta per recuperare le informazioni di connessione. Per ulteriori informazioni, consulta [Configura il protocollo proxy per il tuo Classic Load Balancer](enable-proxy-protocol.md).

Utilizzando questa configurazione, non ricevi cookie per la persistenza della sessione o le intestazioni X-Forwarded.

### Protocollo HTTP/HTTPS
<a name="using-elb-http-layer7"></a>

Quando si utilizza HTTP (livello 7) per le connessioni front-end e back-end, il sistema di bilanciamento del carico analizza le intestazioni della richiesta prima di inviarla alle istanze di back-end.

Per ogni istanza registrata e integra di un sistema di bilanciamento HTTP/HTTPS del carico, Elastic Load Balancing apre e mantiene una o più connessioni TCP. Queste connessioni assicurano che venga sempre stabilita una connessione pronta per ricevere le richieste HTTP/HTTPS.

Le richieste e le risposte HTTP utilizzano i campi intestazione per inviare informazioni sui messaggi HTTP. Elastic Load Balancing supporta le intestazioni `X-Forwarded-For`. Poiché i bilanciatori del carico intercettano il traffico tra client e server, i log di accesso al server contengono solo l'indirizzo IP del load balancer. Per visualizzare l'indirizzo IP del client, utilizza l'intestazione della richiesta `X-Forwarded-For`. Per ulteriori informazioni, consulta [X-Forwarded-For](x-forwarded-headers.md#x-forwarded-for).

Quando utilizzi HTTP/HTTPS, puoi abilitare le sticky session sul tuo load balancer. Una sticky session associa una sessione utente ad una determinata istanza di back-end. Questo garantisce che tutte le richieste provenienti dall'utente durante la sessione vengano inviate alla stessa istanza di back-end. Per ulteriori informazioni, consulta [Configura le sticky session per il Classic Load Balancer](elb-sticky-sessions.md).

Non tutte le estensioni HTTP sono supportate nel load balancer. Potrebbe essere necessario utilizzare un listener TCP se il load balancer non è in grado di terminare la richiesta a causa di metodi imprevisti, codici di risposta o altre implementazioni HTTP 1.0/1.1 non standard.

## Listener HTTPS/SSL
<a name="https-ssl-listeners"></a>

È possibile creare un load balancer con le seguenti caratteristiche di sicurezza.

### Certificati del server SSL
<a name="ssl-cert"></a>

Se utilizzi HTTPS o SSL per le connessioni front-end, devi distribuire un certificato X.509 (certificato server SSL) sul load balancer. Il load balancer decrittografa le richieste provenienti dai client prima di inviarle alle istanze di back-end (questo processo è noto come *terminazione SSL*). Per ulteriori informazioni, consulta [Certificati SSL/TLS per Classic Load Balancer](ssl-server-cert.md).

Se non desideri che il load balancer gestisca la terminazione SSL (anche chiamata *offload SSL*), puoi utilizzare TCP sia per le connessioni front-end che back-end e distribuire i certificati sulle istanze registrate che gestiscono le richieste.

### Negoziazione SSL
<a name="using-elb-cipher-settings"></a>

Elastic Load Balancing fornisce configurazioni di negoziazione SSL predefinite, che vengono utilizzate per la negoziazione SSL quando viene stabilita una connessione tra un client e il load balancer. Le configurazioni di negoziazione SSL offrono la compatibilità con un'ampia gamma di client e utilizzano algoritmi di crittografia altamente sicuri, denominati *cifrari*. Tuttavia, alcuni casi d'uso potrebbero richiedere la crittografia di tutti i dati sulla rete e consentire solo cifrari specifici. Alcuni standard di conformità per la sicurezza (ad esempio PCI e SOX) potrebbero richiedere un set specifico di protocolli e cifrari dei client per assicurare che gli standard di sicurezza vengano soddisfatti. In questi casi, puoi creare una configurazione di negoziazione SSL personalizzata basata su esigenze specifiche. I tuoi cifrari e protocolli devono essere applicati entro 30 secondi. Per ulteriori informazioni, consulta [Configurazioni della negoziazione SSL per Classic Load Balancer](elb-ssl-security-policy.md).

### Autenticazione server back-end
<a name="using-elb-backend-auth"></a>

Se utilizzi HTTPS o SSL per le connessioni back-end, puoi abilitare l'autenticazione delle istanze registrate. Puoi quindi utilizzare il processo di autenticazione per assicurarti che le istanze accettino solo le comunicazioni crittografate e che ogni istanza registrata disponga della chiave pubblica corretta.

Per ulteriori informazioni, consulta [Configurazione dell'autenticazione del server back-end](elb-create-https-ssl-load-balancer.md#configure_backendauth_clt).

# Configurazioni del listener per i Classic Load Balancer
<a name="using-elb-listenerconfig-quickref"></a>

La tabella seguente descrive le possibili configurazioni per i listener HTTP e HTTPS per un Classic Load Balancer.


| Caso d’uso | Protocollo front-end | Opzioni di front-end | Protocollo back-end | Opzioni di back-end | Note | 
| --- | --- | --- | --- | --- | --- | 
| load balancer HTTP di base | HTTP | N/A | HTTP | N/A |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 
| Protezione del sito web o dell'applicazione mediante Elastic Load Balancing per l'offload della decrittografia SSL | HTTPS | [Negoziazione SSL](elb-ssl-security-policy.md) | HTTP | N/A |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 
| Proteggete il sito Web o l'applicazione utilizzando la crittografia end-to-end | HTTPS | [Negoziazione SSL](elb-ssl-security-policy.md) | HTTPS | Autenticazione di back-end |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 

La tabella seguente descrive le possibili configurazioni per i listener TCP e SSL per un Classic Load Balancer.


| Caso d’uso | Protocollo front-end | Opzioni di front-end | Protocollo back-end | Opzioni di back-end | Note | 
| --- | --- | --- | --- | --- | --- | 
| load balancer TCP di base | TCP | N/A | TCP | N/A |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 
| Protezione del sito web o dell'applicazione mediante Elastic Load Balancing per l'offload della decrittografia SSL | SSL | [Negoziazione SSL](elb-ssl-security-policy.md) | TCP | N/A |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 
| Sito Web o applicazione sicuri utilizzando end-to-end la crittografia con Elastic Load Balancing | SSL | [Negoziazione SSL](elb-ssl-security-policy.md) | SSL | Autenticazione di back-end |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticloadbalancing/latest/classic/using-elb-listenerconfig-quickref.html)  | 

# Intestazioni HTTP e Classic Load Balancer
<a name="x-forwarded-headers"></a>

Le richieste e le risposte HTTP utilizzano i campi intestazione per inviare informazioni sui messaggi HTTP. I campi intestazione sono costituti da coppie nome-valore separati da due punti e intervallati da un ritorno a capo e un avanzamento riga. Un insieme standard di campi dell'intestazione HTTP è definito nella RFC 2616 [intestazioni di messaggi](https://datatracker.ietf.org/doc/html/rfc2616#section-4.2). Sono anche disponibili intestazioni HTTP non standard (e aggiunte automaticamente), ampiamente utilizzate dalle applicazioni. Alcune delle intestazioni HTTP non standard hanno un prefisso `X-Forwarded`. I Classic Load Balancer supportano le seguenti intestazioni `X-Forwarded`.

Per ulteriori informazioni sulle connessioni HTTP, consulta [Routing della richiesta](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#request-routing) nella *Guida per l'utente di Elastic Load Balancing*.

**Prerequisiti**
+ Verifica che le impostazioni del tuo listener supportino le intestazioni X-Forwarded. Per ulteriori informazioni, consulta [Configurazioni del listener per i Classic Load Balancer](using-elb-listenerconfig-quickref.md).
+ Configura il server Web per registrare gli indirizzi IP del client.

**Topics**
+ [X-Forwarded-For](#x-forwarded-for)
+ [X-Forwarded-Proto](#x-forwarded-proto)
+ [X-Forwarded-Port](#x-forwarded-port)

## X-Forwarded-For
<a name="x-forwarded-for"></a>

L'intestazione della richiesta `X-Forwarded-For` viene aggiunta automaticamente e consente di identificare l'indirizzo IP di un client quando utilizzi un load balancer HTTP o HTTPS. Poiché i bilanciatori del carico intercettano il traffico tra client e server, i log di accesso al server contengono solo l'indirizzo IP del load balancer. Per visualizzare l'indirizzo IP del client, utilizza l'intestazione della richiesta `X-Forwarded-For`. Elastic Load Balancing memorizza l'indirizzo IP del client nell'intestazione della richiesta `X-Forwarded-For` e passa l'intestazione al server. Se l'intestazione della richiesta `X-Forwarded-For` non è inclusa nella richiesta, il bilanciamento del carico ne crea una con l'indirizzo IP del client come valore della richiesta. In caso contrario, il load balancer aggiunge l'indirizzo IP del client all'intestazione esistente e passa l'intestazione al server. L'intestazione della richiesta `X-Forwarded-For` può contenere più indirizzi IP separati da virgole. L'indirizzo più a sinistra è l'IP del client in cui è stata effettuata la richiesta per la prima volta. È quindi seguito da eventuali identificatori proxy successivi, in una catena.

L'intestazione della richiesta `X-Forwarded-For` assume la seguente forma:

```
X-Forwarded-For: client-ip-address
```

Di seguito è riportata un'intestazione della richiesta `X-Forwarded-For` di esempio per un client con l'indirizzo IP `203.0.113.7`.

```
X-Forwarded-For: 203.0.113.7
```

Di seguito è riportato un esempio di intestazione di `X-Forwarded-For` richiesta per un client con un IPv6 indirizzo di. `2001:DB8::21f:5bff:febf:ce22:8a2e`

```
X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e
```

## X-Forwarded-Proto
<a name="x-forwarded-proto"></a>

L'intestazione della richiesta `X-Forwarded-Proto` consente di identificare il protocollo (HTTP o HTTPS) utilizzato da un client per connettersi al tuo load balancer. I log di accesso al server contengono solo il protocollo utilizzato tra il server e il load balancer; non contengono informazioni sul protocollo utilizzato tra il client e il load balancer. Per determinare il protocollo utilizzato tra il client e il load balancer, utilizzare l'intestazione della richiesta `X-Forwarded-Proto`. Elastic Load Balancing archivia il protocollo utilizzato tra il client e il load balancer nell'intestazione della richiesta `X-Forwarded-Proto` e passa l'intestazione al server.

La tua applicazione o il tuo sito Web può utilizzare il protocollo memorizzato nell'intestazione della richiesta `X-Forwarded-Proto` per eseguire il rendering di una risposta che reindirizza all'URL appropriato.

L'intestazione della richiesta `X-Forwarded-Proto` assume la seguente forma:

```
X-Forwarded-Proto: originatingProtocol
```

L'esempio seguente contiene un'intestazione della richiesta `X-Forwarded-Proto` per una richiesta originata dal client come richiesta HTTPS:

```
X-Forwarded-Proto: https
```

## X-Forwarded-Port
<a name="x-forwarded-port"></a>

L'intestazione della richiesta `X-Forwarded-Port` consente di identificare la porta di destinazione utilizzata dal client per connettersi al load balancer.