Nawawala ang hostname ng forward proxy sa kahilingan
Tinutukoy ng karaniwang kahilingang HTTP forward proxy ang destinasyon, kaya hindi matukoy ng Host at hostname ng Express ang mga alias ng proxy mismo.
Ipagpalagay na ang east.proxy.example at west.proxy.example ay tumutugma sa parehong karaniwang HTTP proxy listener. Maaaring magpadala ang kliyenteng gumagamit ng alinman sa dalawang pangalan:
GET http://www.example.org/report HTTP/1.1
Host: www.example.orgTinutukoy ng kahilingan ang website. Hindi nito dala ang alias ng proxy na niresolba ng kliyente bago buksan ang TCP. Kaya hindi makapipili ng ruta ang hostname ng Express na nagmula sa Host batay sa mga subdomain ng proxy.
Kung kontrolado mo ang kliyente at proxy, magbigay ng tahasang routing input. Para sa proxy na nagpapatupad ng label na X-Route:
curl --proxy http://east.proxy.example:8080 \
--proxy-header 'X-Route: east' \
https://www.example.org/--proxy-header ay para sa komunikasyon sa proxy, kasama ang CONNECT. Ang ordinaryong header na -H sa kahilingang HTTPS ay nasa loob ng naka-encrypt na HTTP exchange ng destinasyon.
Dapat ipatupad at pahintulutan ng server ang patakaran sa routing, pagkatapos ay gamitin ang label nang hindi ito ipinapasa sa website. Bilang kahalili, gumamit ng hiwalay na naka-configure na listening endpoint o proxy account bilang routing input.
Para sa mga destinasyong HTTPS, natatanggap ng Node ang paunang tunnel request sa pamamagitan ng connect event ng HTTP server nito. Hindi hinahawakan ng ordinaryong Express request middleware ang event na iyon. Tinutukoy pa rin ng target ng CONNECT ang destination server, hindi ang alias ng proxy.