Intestazioni load balancer
Informazioni sull'uso di HTTP "X" e intestazioni host in un load balancer.
Le richieste e le risposte HTTP spesso includono campi di intestazione che forniscono informazioni contestuali sul messaggio. RFC 2616 definisce un set standard di campi di intestazione HTTP. Alcuni campi di intestazione non standard, che iniziano con X-
, sono comuni. Il servizio Load balancer aggiunge o modifica l'intestazione host e le seguenti intestazioni X-
quando passa le richieste ai server. Poiché queste intestazioni vengono sempre aggiunte e non possono essere disabilitate, non è possibile rimuovere o modificare le intestazioni utilizzando un set di regole.
Le richieste e le risposte HTTP spesso includono campi di intestazione che forniscono informazioni contestuali sul messaggio. RFC 2616 definisce un set standard di campi di intestazione HTTP. Alcuni campi di intestazione non standard, che iniziano con X-
, sono comuni. Il servizio Load Balancer aggiunge o modifica l'intestazione host e le intestazioni X-
riportate di seguito quando trasmette le richieste ai server. Poiché queste intestazioni vengono sempre aggiunte e non possono essere disabilitate, non è possibile rimuovere o modificare le intestazioni utilizzando un set di regole.
X-Forwarded-For
Fornisce una lista di indirizzi IP di connessione.
Il load balancer aggiunge l'ultimo indirizzo peer remoto al campo X-Forwarded-For
dalla richiesta in entrata. Una virgola e uno spazio precedono l'indirizzo aggiunto. Se l'intestazione della richiesta client non include un campo X-Forwarded-For
, questo valore è uguale al valore X-Real-IP
. Il client richiedente originale è il primo indirizzo IP (più a sinistra) nell'elenco, supponendo che il contenuto del campo in entrata sia affidabile. L'ultimo indirizzo è l'ultimo peer (più recente), ovvero il computer da cui il load balancer ha ricevuto la richiesta. Il formato è il seguente:
X-Forwarded-For: original_client, proxy1, proxy2
Campo in entrata di esempio:
X-Forwarded-For: 202.1.112.187
Campo di esempio con indirizzo IP proxy aggiunto:
X-Forwarded-For: 202.1.112.187, 192.168.0.10
Host X-forwarded
Identifica l'host e la porta originali richiesti dal client nell'intestazione della richiesta HTTP Host
. Questa intestazione consente di trovare l'host originale, poiché il nome host o la porta del proxy inverso (load balancer) potrebbe differire dal server originale che gestisce la richiesta.
X-Forwarded-Host: www.oracle.com:8080
Porta X-forwarded
Identifica il numero di porta del listener utilizzato dal client per connettersi al load balancer. Ad esempio:
X-Forwarded-Port: 443
X-Proto inoltrato
Identifica il protocollo utilizzato dal client per connettersi al load balancer, ovvero http
o https
. Ad esempio:
X-Forwarded-Proto: https
X-Real-IP
Identifica l'indirizzo IP del client. Per il servizio Load Balancer, il "client" è l'ultimo peer remoto.
Il load balancer intercetta il traffico tra il client e il server. Pertanto, i log degli accessi del server includono solo l'indirizzo IP del load balancer. L'intestazione X-Real-IP
fornisce l'indirizzo IP del client. Ad esempio:
X-Real-IP: 192.168.0.10
X-Request-Id
L'ID richiesta consente di tenere traccia e gestire una richiesta fornendo un identificativo univoco esposto nelle intestazioni delle richieste e delle risposte HTTP.
Quando l'ID richiesta è abilitato, il nome intestazione predefinito X-Request-ID viene incluso nell'intestazione della richiesta HTTP dal load balancer alle risposte di intestazione backend e HTTP. Se non è abilitato, il load balancer non aggiunge questa intestazione ID richiesta univoca alla richiesta passata al backend del load balancer o alla risposta restituita.
È possibile immettere un nome di intestazione diverso invece di utilizzare quello predefinito. Qualsiasi nome intestazione personalizzata deve iniziare con "X-".
Host
Identifica l'host originale e facoltativamente la porta richiesta dal client nell'intestazione della richiesta HTTP host. Ad esempio:
Host: www.oracle.com