Cabeçalhos do Serviço Load Balancer

Descreve o uso de cabeçalhos HTTP "X" e host em um balanceador de carga.

As solicitações e respostas HTTP geralmente incluem campos de cabeçalho que fornecem informações contextuais sobre a mensagem. A RFC 2616 define um conjunto padrão de campos de cabeçalho HTTP. Alguns campos de cabeçalho não padrão, que começam com X-, são comuns. O serviço Load Balancer adiciona ou modifica o cabeçalho Host e os seguintes cabeçalhos X- ao transmitir solicitações aos servidores. Como esses cabeçalhos são sempre adicionados e não podem ser desativados, não é possível remover nem modificar cabeçalhos usando um conjunto de regras.

X-Forwarded-For

Fornece uma lista de endereços IP de conexão.

O balanceador de carga anexa o último endereço de par remoto ao campo X-Forwarded-For da solicitação recebida. Uma vírgula e um espaço precedem o endereço anexado. Se o cabeçalho da solicitação do cliente não incluir um campo X-Forwarded-For, esse valor será igual ao valor X-Real-IP. O cliente solicitante original é o primeiro endereço IP (mais à esquerda) na lista, pressupondo que o conteúdo do campo de entrada seja confiável. O último endereço é o último par (mais recente), ou seja, a máquina da qual o balanceador de carga recebeu a solicitação. O formato é:

X-Forwarded-For: original_client, proxy1, proxy2

Exemplo de campo de entrada:

X-Forwarded-For: 202.1.112.187

Exemplo de campo com endereço IP de proxy anexado:

X-Forwarded-For: 202.1.112.187, 192.168.0.10

X-Forwarded-Host

Identifica a porta e o host originais solicitados pelo cliente no cabeçalho da solicitação HTTP Host. Esse cabeçalho ajuda você a determinar o host original, pois o nome do host ou a porta do proxy reverso (balanceador de carga) pode diferir do servidor original que está tratando a solicitação.

X-Forwarded-Host: www.oracle.com:8080

X-Forwarded-Port

Identifica o número da porta do listener que o cliente usou para estabelecer conexão com o balanceador de carga. Por exemplo:

X-Forwarded-Port: 443

X-Forwarded-Proto

Identifica o protocolo usado pelo cliente para estabelecer conexão com o balanceador de carga, seja http ou https. Por exemplo:

X-Forwarded-Proto: https

X-Real-IP

Identifica o endereço IP do cliente. Para o serviço Load Balancer, o "cliente" é o último pareamento remoto.

O seu balanceador de carga intercepta o tráfego entre o cliente e o seu servidor. Os logs de acesso do seu servidor, portanto, incluem apenas o endereço IP do balanceador de carga. O cabeçalho X-Real-IP fornece o endereço IP do cliente. Por exemplo:

X-Real-IP: 192.168.0.10

Host

Identifica o host original e opcionalmente a porta solicitada pelo cliente no cabeçalho de solicitação HTTP Host. Por exemplo:

Host: www.oracle.com