Cabeçalhos HTTP e Application Load Balancers - Elastic Load Balancing

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Cabeçalhos HTTP e Application Load Balancers

As solicitações HTTP e as respostas HTTP usam campos de cabeçalho para enviar informações sobre as mensagens HTTP. Os cabeçalhos HTTP são adicionados automaticamente. Os campos de cabeçalho são pares de nome-valor separados por dois pontos e separados por um retorno de carro (CR) e um avanço de linha (LF). Um conjunto padrão de campos de cabeçalho HTTP está definido na RFC 2616, Cabeçalhos de mensagem. Há também cabeçalhos HTTP não padrão que são adicionados automaticamente e amplamente usados pelos aplicativos. Alguns dos cabeçalhos HTTP não padrão possuem um prefixo X-Forwarded. Application Load Balancers são compatíveis com o seguinteX-Forwardedcabeçalhos.

Para obter mais informações sobre conexões HTTP, consulte Roteamento de solicitação no Manual do usuário do Elastic Load Balancing.

X-Forwarded-For

O cabeçalho de solicitação X-Forwarded-For é adicionado automaticamente e ajuda você a identificar o endereço IP de um cliente quando usar um balanceador de carga HTTP ou HTTPS. Como os load balancers interceptam o tráfego entre clientes e servidores, os logs de acesso do seu servidor contêm apenas o endereço IP do load balancer. Para ver o endereço IP do cliente, use o cabeçalho da solicitação X-Forwarded-For. O Elastic Load Balancing armazena o endereço IP do cliente no cabeçalho de solicitação X-Forwarded-For e encaminha o cabeçalho para o seu servidor. Se o cabeçalho de solicitação X-Forwarded-For não estiver incluído na solicitação, o balanceador de carga criará um com o endereço IP do cliente como o valor da solicitação. Caso contrário, o load balancer adicionará o endereço IP do cliente ao cabeçalho existente e passa o cabeçalho para o seu servidor. O cabeçalho de solicitação X-Forwarded-For pode conter vários endereços IP separados por vírgula. O endereço mais à esquerda é o endereço IP do cliente onde a solicitação foi feita pela primeira vez. Ele é seguido por quaisquer identificadores de proxy subsequentes em cadeia.

O cabeçalho de solicitação X-Forwarded-For leva a seguinte forma:

X-Forwarded-For: client-ip-address

Veja a seguir um exemplo de cabeçalho de solicitação X-Forwarded-For para um cliente com o endereço IP 203.0.113.7.

X-Forwarded-For: 203.0.113.7

Veja a seguir um exemplo de cabeçalho de solicitação X-Forwarded-For para um cliente com o endereço IPv6 2001:DB8::21f:5bff:febf:ce22:8a2e.

X-Forwarded-For: 2001:DB8::21f:5bff:febf:ce22:8a2e

Quando o atributo de preservação da porta do cliente estiver habilitado no balanceador de carga (routing.http.xff_client_port.enabled), oX-Forwarded-Foro cabeçalho da solicitação inclui oclient-port-numberanexado aoclient-ip-addressseparados por dois pontos. Ele tem o seguinte formato:

IPv4 -- X-Forwarded-For: client-ip-address:client-port-number
IPv6 -- X-Forwarded-For: [client-ip-address]:client-port-number

Para IPv6, observe que quando o balanceador de carga anexa oclient-ip-addresspara o cabeçalho existente, ele o coloca entre colchetes.

Veja um exemplo a seguirX-Forwarded-ForCabeçalho de solicitação para um cliente com o endereço IPv412.34.56.78e um número de porta de8080.

X-Forwarded-For: 12.34.56.78:8080

Veja um exemplo a seguirX-Forwarded-ForCabeçalho de solicitação para um cliente com o endereço IPv62001:db8:85a3:8d3:1319:8a2e:370:7348e um número de porta de8080.

X-Forwarded-For: [2001:db8:85a3:8d3:1319:8a2e:370:7348]:8080

X-Forwarded-Proto

O cabeçalho da solicitação X-Forwarded-Proto ajuda você a identificar o protocolo (HTTP ou HTTPS) que um cliente usou para se conectar ao seu load balancer. Os logs de acesso do servidor contêm apenas o protocolo usado entre o servidor e o load balancer; eles não contêm informações sobre o protocolo usado entre o cliente e o load balancer. Para determinar o protocolo usado entre o cliente e o balanceador de carga, use o cabeçalho de solicitação X-Forwarded-Proto. O Elastic Load Balancing armazena o protocolo usado entre o cliente e o balanceador de carga no cabeçalho da solicitação X-Forwarded-Proto e encaminha o cabeçalho para seu servidor.

O aplicativo ou o site podem usar o protocolo armazenado no cabeçalho da solicitação X-Forwarded-Proto para renderizar uma resposta que redireciona para o URL apropriado.

O cabeçalho de solicitação X-Forwarded-Proto leva a seguinte forma:

X-Forwarded-Proto: originatingProtocol

O exemplo a seguir contém um cabeçalho de solicitação X-Forwarded-Proto para uma solicitação originada do cliente como solicitação de HTTPS:

X-Forwarded-Proto: https

X-Forwarded-Port

O cabeçalho de solicitação X-Forwarded-Port ajuda a identificar a porta de destino que o cliente usou para se conectar ao load balancer.