HTTP-proxyforespørsler: absolutte URL-er kontra Host-headeren
Hold det absolutte forespørselsmålet og Host-feltet konsistent når du sender en HTTP/1.1-forespørsel gjennom en eksplisitt proxy.
Hvilken vert mener denne HTTP/1.1-proxyforespørselen?
GET http://first.example/path HTTP/1.1
Host: second.example
Meldingen er inkonsistent. I en forespørsel i absolutt form sendt til en proxy krever RFC 9112 at den videresendte Host-verdien kommer fra forespørselsmålet. Videresending av Host: first.example er forventet atferd.
Ved en test på et utviklingsnettsted bør vertsnavnet til ressursen være sammenhengende i URL-en og i HTTP-authority. Lever den ønskede navn-til-adresse-tilordningen ved hoppet som er ansvarlig for oppslaget. En motstridende Host-overstyring er ikke en portabel instruksjon for valg av backend.
HTTPS er annerledes. Når en vanlig CONNECT-tunnel er åpnet, foregår TLS og den indre HTTP-utvekslingen inne i den. En proxy som ikke avskjærer, kan normalt ikke skrive om det krypterte Host-feltet. CONNECT-målet, TLS-navnet og sertifikatidentiteten forblir separate roller.
Sletting av Via, Referer eller Cache-Control forener ikke de to authority-ene. Noter forespørselsformen og punktet der du observerte headeren før du diagnostiserer en proxy-omskriving.