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