Pedidos de proxy HTTP: URLs absolutos versus o cabeçalho Host
Mantenha o alvo absoluto do pedido e o campo Host coerentes ao fazer um pedido HTTP/1.1 através de um proxy explícito.
A que host se refere este pedido de proxy HTTP/1.1?
GET http://first.example/path HTTP/1.1
Host: second.example
A mensagem é incoerente. Num pedido em forma absoluta enviado a um proxy, a RFC 9112 exige que o valor Host reencaminhado venha do alvo do pedido. Reencaminhar Host: first.example é o comportamento esperado.
Num teste num site de desenvolvimento, mantenha o nome de host do recurso coerente no URL e na autoridade HTTP. Forneça o mapeamento nome-para-endereço desejado no salto responsável pela resolução. Uma substituição de Host em conflito não é uma instrução portável para selecionar um backend.
HTTPS é diferente. Depois de aberto um túnel CONNECT comum, o TLS e a troca HTTP interna ocorrem no seu interior. Um proxy que não interceta normalmente não consegue reescrever esse campo Host cifrado. O destino CONNECT, o nome TLS e a identidade do certificado continuam a ser papéis separados.
Eliminar Via, Referer ou Cache-Control não reconcilia as duas autoridades. Registe a forma do pedido e o ponto onde observou o cabeçalho antes de diagnosticar uma reescrita do proxy.