Richieste proxy HTTP: URL assolute rispetto all'intestazione Host
Mantieni coerenti il target assoluto della richiesta e il campo Host quando effettui una richiesta HTTP/1.1 tramite un proxy esplicito.
Quale host intende questa richiesta proxy HTTP/1.1?
GET http://first.example/path HTTP/1.1
Host: second.example
Il messaggio è incoerente. In una richiesta in forma assoluta inviata a un proxy, RFC 9112 richiede che il valore Host inoltrato provenga dal target della richiesta. Inoltrare Host: first.example è il comportamento atteso.
In un test su un sito di sviluppo, mantieni coerente il nome host della risorsa nell'URL e nell'authority HTTP. Fornisci la mappatura nome-indirizzo desiderata all'hop responsabile della risoluzione. Una sostituzione Host in conflitto non è un'istruzione portabile per scegliere un backend.
HTTPS è diverso. Dopo l'apertura di un normale tunnel CONNECT, TLS e lo scambio HTTP interno avvengono al suo interno. Un proxy che non intercetta di norma non può riscrivere quel campo Host cifrato. La destinazione CONNECT, il nome TLS e l'identità del certificato restano ruoli separati.
Eliminare Via, Referer o Cache-Control non riconcilia le due authority. Registra la forma della richiesta e il punto in cui hai osservato l'intestazione prima di diagnosticare una riscrittura del proxy.