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à.
Intestazioni HTTP e Application Load Balancer
Le richieste e le risposte HTTP utilizzano i campi intestazione per inviare informazioni sui messaggi HTTP. Le intestazioni HTTP vengono aggiunte automaticamente. 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 messaggiX-Forwarded
. Gli Application Load Balancer supportano le seguenti intestazioni X-Forwarded
.
Per ulteriori informazioni sulle connessioni HTTP, consulta Routing della richiesta nella Guida per l'utente di Elastic Load Balancing.
Intestazioni X-Forwarded
X-Forwarded-For
L'intestazione della richiesta X-Forwarded-For
consente di identificare l'indirizzo IP di un client quando utilizzi un sistema di bilanciamento del carico HTTP o HTTPS. Poiché i sistemi di bilanciamento del carico intercettano il traffico tra client e server, i log di accesso al server contengono solo l'indirizzo IP del sistema di bilanciamento del carico. Per visualizzare l'indirizzo IP del client, utilizza l'attributo routing.http.xff_header_processing.mode
. Questo attributo consente di modificare, mantenere o rimuovere l'intestazione X-Forwarded-For
nella richiesta HTTP prima che Application Load Balancer la invii alla destinazione. I valori possibili per questo attributo sono append
, preserve
e remove
. Il valore predefinito per questo attributo è append
.
Importante
L'X-Forwarded-For
intestazione deve essere utilizzata con cautela a causa dei potenziali rischi per la sicurezza. Le voci possono essere considerate affidabili solo se aggiunte da sistemi adeguatamente protetti all'interno della rete.
Append
Per impostazione predefinita, Application Load Balancer 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 originale, il sistema di 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 quindi passa l'intestazione al server. L'intestazione della richiesta X-Forwarded-For
può contenere più indirizzi IP separati da virgole.
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 è riportata un'intestazione della richiesta X-Forwarded-For
di esempio per un client con l'indirizzo IPv6 2001:DB8::21f:5bff:febf:ce22:8a2e
.
X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e
Quando l'attributo di conservazione della porta del client (routing.http.xff_client_port.enabled
) è abilitato nel sistema di bilanciamento del carico, l'intestazione della richiesta X-Forwarded-For
include il client-port-number
aggiunto al client-ip-address
, separato da due punti. L'intestazione assume così la seguente forma:
IPv4 -- X-Forwarded-For: client-ip-address
:client-port-number
IPv6 -- X-Forwarded-For: [client-ip-address]
:client-port-number
Per IPv6, notare che quando il sistema di bilanciamento del carico aggiunge il client-ip-address
all'intestazione esistente, racchiude l'indirizzo tra parentesi quadre.
Di seguito è riportata un'intestazione della richiesta X-Forwarded-For
di esempio per un client con l'indirizzo IPv4 12.34.56.78
e il numero di porta 8080
.
X-Forwarded-For: 12.34.56.78:8080
Di seguito è riportata un'intestazione della richiesta X-Forwarded-For
di esempio per un client con l'indirizzo IPv6 2001:db8:85a3:8d3:1319:8a2e:370:7348
e il numero di porta 8080
.
X-Forwarded-For: [2001:db8:85a3:8d3:1319:8a2e:370:7348]:8080
Preserve
La modalità preserve
nell'attributo garantisce che l'intestazione X-Forwarded-For
nella richiesta HTTP non venga modificato in alcun modo prima di essere inviata alle destinazioni.
Rimuovi
La modalità remove
nell'attributo rimuove l'intestazione X-Forwarded-For
nella richiesta HTTP prima di inviarla alle destinazioni.
Nota
Se si abilita l'attributo di conservazione della porta del client (routing.http.xff_client_port.enabled
) e inoltre si seleziona preserve
o remove
per l'attributo routing.http.xff_header_processing.mode
, l'Application Load Balancer sovrascrive l'attributo di conservazione della porta del client. Mantiene l'intestazione X-Forwarded-For
invariata o la rimuove, a seconda della modalità selezionata, prima di inviarla alle destinazioni.
La tabella seguente mostra esempi dell'intestazione X-Forwarded-For
che la destinazione riceve quando si seleziona la modalità append
, preserve
o remove
. In questo esempio, l'indirizzo IP dell'ultimo hop è 127.0.0.1
.
Descrizione della richiesta |
Richiesta di esempio |
XFF con modalità append |
XFF con modalità preserve |
XFF con modalità remove |
---|---|---|---|---|
La richiesta viene inviata senza intestazione XFF | GET /index.html HTTP/1.1 Host: example.com |
X-Forwarded-For: 127.0.0.1 |
Non presente | Non presente |
La richiesta viene inviata con un'intestazione XFF e un indirizzo IP client. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4 |
X-Forwarded-For: 127.0.0.4, 127.0.0.1 |
X-Forwarded-For: 127.0.0.4 |
Non presente |
La richiesta viene inviata con un'intestazione XFF con più indirizzi IP client. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4, 127.0.0.8 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8,
127.0.0.1 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8 |
Non presente |
Per modificare, conservare o rimuovere l'intestazione X-Forwarded-For tramite la console
Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/
. -
Seleziona Sistemi di bilanciamento del carico nel riquadro di navigazione.
-
Selezionare il load balancer.
-
Nella scheda Attributi, scegli Modifica.
-
Nella sezione Configurazione del traffico, in Gestione dei pacchetti, per Intestazione X-Forwarded-For scegliere Append (impostazione predefinita), Preserve o Remove.
-
Seleziona Salvataggio delle modifiche.
Per modificare, conservare o rimuovere l'intestazione utilizzando il X-Forwarded-ForAWS CLI
Utilizzate il modify-load-balancer-attributescomando con l'routing.http.xff_header_processing.mode
attributo.
X-Forwarded-Proto
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
L'intestazione della richiesta X-Forwarded-Port
consente di identificare la porta di destinazione utilizzata dal client per connettersi al load balancer.