Проксі-запити HTTP: абсолютні URL проти заголовка Host
Тримайте узгодженими абсолютну ціль запиту й поле Host, коли робите запит HTTP/1.1 через явний проксі.
Який хост має на увазі цей проксі-запит HTTP/1.1?
GET http://first.example/path HTTP/1.1
Host: second.example
Повідомлення суперечливе. У запиті в абсолютній формі, що надсилається проксі, RFC 9112 вимагає, щоб передаване значення Host бралося з цілі запиту. Передача Host: first.example — очікувана поведінка.
Під час тесту на сайті розробки тримайте ім'я хоста ресурсу узгодженим в URL і в HTTP authority. Забезпечте потрібне зіставлення імені й адреси на тому вузлі, що відповідає за розв'язання. Суперечливе перевизначення Host не є переносною інструкцією для вибору backend.
HTTPS відрізняється. Після відкриття звичайного тунелю CONNECT TLS і внутрішній обмін HTTP відбуваються всередині нього. Проксі без перехоплення зазвичай не може переписати це зашифроване поле Host. Призначення CONNECT, ім'я TLS і ідентичність сертифіката залишаються окремими ролями.
Видалення Via, Referer або Cache-Control не узгоджує два authority. Запишіть форму запиту й точку, де ви спостерігали заголовок, перш ніж діагностувати перезапис проксі.