Cabeçalhos do Serviço Load Balancer
Saiba como usar "X" HTTP e cabeçalhos de 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 Balanceador de Carga adiciona ou altera 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 ou alterar cabeçalhos usando um conjunto de regras.
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 do Balanceador de Carga adiciona ou altera o cabeçalho do Host e o seguinte cabeçalho X-
quando ele transmite as solicitações aos seus servidores. Como esses cabeçalhos são sempre adicionados e não podem ser desativados, não é possível remover ou alterar 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 encontrar o host original, porque 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
X-Id da Solicitação
O ID da Solicitação pode ajudá-lo a rastrear e gerenciar uma solicitação fornecendo um identificador de solicitação exclusivo exposto nos cabeçalhos de solicitação e resposta HTTP.
Quando o ID da solicitação está ativado, o nome do cabeçalho padrão X-Request-ID é incluído no cabeçalho da solicitação HTTP do balanceador de carga para as respostas do backend e do cabeçalho HTTP. Se não estiver ativado, o balanceador de carga não adicionará esse cabeçalho de ID de solicitação exclusivo à solicitação transmitida pelo backend do balanceador de carga ou à resposta retornada.
Você pode inserir um nome de cabeçalho diferente em vez de usar o padrão. Qualquer nome de cabeçalho personalizado deve começar com "X-".
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