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 mensagemX-Forwarded. Os Application Load Balancers são compatíveis com os seguintes cabeçalhos X-Forwarded.
Para obter mais informações sobre conexões HTTP, consulte Roteamento de solicitação no Manual do usuário do Elastic Load Balancing.
Cabeçalhos X-Forwarded
X-Forwarded-For
O cabeçalho da solicitação X-Forwarded-For ajuda você a identificar o endereço IP de um cliente quando usar um load balancer HTTP ou HTTPS. Como os balanceadores de carga interceptam o tráfego entre clientes e servidores, os logs de acesso do seu servidor vão conter apenas o endereço IP do balanceador de carga. Para ver o endereço IP do cliente, use o atributo routing.http.xff_header_processing.mode. Esse atributo permite que você modifique, preserve ou remova o cabeçalho X-Forwarded-For na solicitação HTTP antes que o Application Load Balancer envie a solicitação ao destino. Os valores possíveis para esse atributo são append, preserve e remove. O valor padrão desse atributo é append.
Importante
O cabeçalho X-Forwarded-For deve ser usado com cuidado devido ao potencial de riscos à segurança. As entradas só podem ser consideradas confiáveis se adicionadas por sistemas devidamente protegidos na rede.
Anexar
Por padrão, o Application Load Balancer 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 original, o balanceador de carga criará um com o endereço IP do cliente como o valor da solicitação. Caso contrário, o balanceador de carga anexará o endereço IP do cliente ao cabeçalho existente e encaminhará 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 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 X-Forwarded-For solicitação para um cliente com um IPv6 endereço de2001: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 (routing.http.xff_client_port.enabled) estiver habilitado no balanceador de carga, o cabeçalho X-Forwarded-For da solicitação incluirá o client-port-number anexado ao client-ip-address, separado por dois pontos. Em seguida, o cabeçalho adotará a seguinte forma:
IPv4 -- X-Forwarded-For: client-ip-address:client-port-number
IPv6 -- X-Forwarded-For: [client-ip-address]:client-port-number
Pois IPv6, observe que quando o balanceador de carga anexa o client-ip-address ao cabeçalho existente, ele coloca o endereço entre colchetes.
Veja a seguir um exemplo de cabeçalho de X-Forwarded-For solicitação para um cliente com IPv4 endereço 12.34.56.78 e número de porta de8080.
X-Forwarded-For: 12.34.56.78:8080
Veja a seguir um exemplo de cabeçalho de X-Forwarded-For solicitação para um cliente com IPv6 endereço 2001:db8:85a3:8d3:1319:8a2e:370:7348 e número de porta de8080.
X-Forwarded-For: [2001:db8:85a3:8d3:1319:8a2e:370:7348]:8080
Preservar
O modo preserve no atributo garante que o cabeçalho X-Forwarded-For na solicitação HTTP não seja modificado de nenhuma forma antes do envio para os destinos.
Remover
O modo remove no atributo remove o cabeçalho X-Forwarded-For na solicitação HTTP antes do envio para os destinos.
Se você habilitar o atributo de preservação da porta do cliente (routing.http.xff_client_port.enabled) e também selecionar preserve ou remove para o atributo routing.http.xff_header_processing.mode, o Application Load Balancer substituirá o atributo de preservação da porta do cliente. Dependendo do modo selecionado, ele mantém o cabeçalho X-Forwarded-For inalterado ou o remove antes de enviá-lo para os destinos.
A tabela a seguir mostra exemplos do cabeçalho X-Forwarded-For que o destino recebe quando você seleciona o modo append, preserve ou remove. Neste exemplo, o endereço IP do último salto é 127.0.0.1.
| Descrição da solicitação | Exemplo de solicitação | append | preserve | remove |
|---|---|---|---|---|
| A solicitação é enviada sem cabeçalho XFF. | GET /index.html HTTP/1.1 Host: example.com |
X-Forwarded-For: 127.0.0.1 |
Não está presente | Não está presente |
| A solicitação é enviada com um cabeçalho XFF e um endereço IP do cliente. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4 |
X-Forwarded-For: 127.0.0.4, 127.0.0.1 |
X-Forwarded-For: 127.0.0.4 |
Não está presente |
| A solicitação é enviada com um cabeçalho XFF e vários endereços IP do cliente. | GET /index.html HTTP/1.1 Host: example.com X-Forwarded-For:
127.0.0.4, 127.0.0.8 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8,
127.0.0.1 |
X-Forwarded-For: 127.0.0.4, 127.0.0.8 |
Não está presente |
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.