Tarkime, east.proxy.example ir west.proxy.example nukreipia į tą patį paprastą HTTP proxy klausytuvą. Klientas, naudojantis bet kurį vardą, gali siųsti:

GET http://www.example.org/report HTTP/1.1
Host: www.example.org

Užklausa nurodo svetainę. Ji neperduoda proxy slapyvardžio, kurį klientas išsprendė prieš atidarydamas TCP. Todėl iš Host gautas Express hosto vardas negali pasirinkti maršruto pagal tuos proxy subdomenus.

Jei valdote klientą ir proxy, pateikite aiškų maršruto įvestį. Proxy, įgyvendinančiam X-Route žymą:

curl --proxy http://east.proxy.example:8080 \
  --proxy-header 'X-Route: east' \
  https://www.example.org/

--proxy-header nukreiptas į ryšį su proxy, įskaitant CONNECT. Įprasta -H antraštė HTTPS užklausoje priklauso tikslo užšifruotam HTTP apsikeitimui.

Serveris turi įgyvendinti ir leisti maršruto politiką, tada sunaudoti žymą nepersiųsdamas jos svetainei. Arba naudokite atskirai sukonfigūruotus klausymosi taškus ar proxy paskyras kaip maršruto įvestis.

HTTPS tikslams Node gauna pradinę tunelio užklausą per savo HTTP serverio connect įvykį. Įprasta Express užklausų tarpinė programinė įranga to įvykio neapdoroja. CONNECT taikinys vis dar nurodo tikslo serverį, o ne proxy slapyvardį.

Susiję straipsniai