HTTP tarpinio serverio užklausos: absoliutūs URL ir Host antraštė
Išlaikykite absoliutų užklausos tikslą ir Host lauką suderintus, kai siunčiate HTTP/1.1 užklausą per aiškų tarpinį serverį.
Kurį hostą turi omenyje ši HTTP/1.1 tarpinio serverio užklausa?
GET http://first.example/path HTTP/1.1
Host: second.example
Pranešimas nenuoseklus. Absoliučios formos užklausoje, siunčiamoje tarpiniam serveriui, RFC 9112 reikalauja, kad persiunčiama Host reikšmė būtų iš užklausos tikslo. Host: first.example persiuntimas yra laukiamas elgesys.
Kūrimo svetainės teste išlaikykite ištekliaus hosto vardą suderintą URL ir HTTP authority dalyje. Suteikite norimą vardo į adresą susiejimą tame šuolyje, kuris atsakingas už sprendimą. Prieštaringas Host perrašymas nėra pernešama instrukcija backend pasirinkimui.
HTTPS skiriasi. Atidarius įprastą CONNECT tunelį, TLS ir vidinis HTTP mainai vyksta jo viduje. Neperimantis tarpinis serveris paprastai negali perrašyti to užšifruoto Host lauko. CONNECT paskirties vieta, TLS vardas ir sertifikato tapatybė lieka atskirais vaidmenimis.
Via, Referer ar Cache-Control ištrynimas nesuderina dviejų authority. Prieš diagnozuodami tarpinio serverio perrašymą, užrašykite užklausos formą ir vietą, kurioje pastebėjote antraštę.