Uz priekšu vērstā starpniekservera resursdatora nosaukums pieprasījumā nav
Parasts HTTP starpniekservera pieprasījums norāda galamērķi, tāpēc Host un Express resursdatora nosaukums nevar atšķirt paša starpniekservera aizstājvārdus.
Pieņemsim, ka east.proxy.example un west.proxy.example norāda uz vienu un to pašu vienkāršo HTTP starpniekservera klausītāju. Klients, kas izmanto jebkuru no šiem nosaukumiem, var nosūtīt:
GET http://www.example.org/report HTTP/1.1
Host: www.example.orgPieprasījums norāda vietni. Tas nesatur starpniekservera aizstājvārdu, ko klients atrisināja pirms TCP atvēršanas. Tāpēc no Host iegūtais Express resursdatora nosaukums nevar izvēlēties maršrutu, pamatojoties uz šiem starpniekservera apakšdomēniem.
Ja jūs kontrolējat klientu un starpniekserveri, nodrošiniet skaidru maršrutēšanas ievadi. Starpniekserverim, kas ievieš X-Route birku:
curl --proxy http://east.proxy.example:8080 \
--proxy-header 'X-Route: east' \
https://www.example.org/--proxy-header ir vērsts uz saziņu ar starpniekserveri, tostarp CONNECT. Parasts -H galvene HTTPS pieprasījumā pieder galamērķa šifrētajai HTTP apmaiņai.
Serverim ir jāievieš un jāatļauj maršrutēšanas politika, pēc tam jāizmanto birka, to nepārsūtot vietnei. Kā alternatīvu izmantojiet atsevišķi konfigurētus klausīšanās galapunktus vai starpniekservera kontus kā maršrutēšanas ievadi.
HTTPS galamērķiem Node saņem sākotnējo tuneļa pieprasījumu caur sava HTTP servera connect notikumu. Parastā Express pieprasījumu starpprogrammatūra šo notikumu neapstrādā. CONNECT mērķis joprojām norāda galamērķa serveri, nevis starpniekservera aizstājvārdu.