Проксі-запыты 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-аўтарытэце. Забяспечце патрэбнае супастаўленне імя і адраса на том узроўні, які адказвае за развязанне. Супярэчлівае перавызначэнне Host не з'яўляецца пераноснай інструкцыяй для выбару бэкенда.
HTTPS адрозніваецца. Пасля адкрыцця звычайнага тунеля CONNECT TLS і ўнутраны абмен HTTP адбываюцца ўнутры яго. Проксі без перахопу звычайна не можа перапісаць гэтае зашыфраванае поле Host. Прызначэнне CONNECT, імя TLS і ідэнтычнасць сертыфіката застаюцца асобнымі ролямі.
Выдаленне Via, Referer або Cache-Control не ўзгадняе два аўтарытэты. Запішыце форму запыту і месца, дзе вы назіралі загаловак, перш чым дыягнаставаць перапісванне проксі.