Առաջադիմող պրոքսիի հոսթի անունը բացակայում է հարցումից
Սովորական HTTP հարցումը առաջադիմող պրոքսիի միջոցով նշում է նպատակակետը, ուստի Host-ը և Express-ի hostname-ը չեն կարող տարբերել հենց պրոքսիի կեղծանունները։
Ենթադրենք, որ east.proxy.example-ը և west.proxy.example-ը լուծվում են դեպի պրոքսիի նույն սովորական HTTP լսիչը։ Այս անուններից որևէ մեկն օգտագործող հաճախորդը կարող է ուղարկել՝
GET http://www.example.org/report HTTP/1.1
Host: www.example.org
Հարցումը նույնականացնում է կայքը։ Այն չի կրում այն պրոքսիի կեղծանունը, որը հաճախորդը լուծել էր TCP-ն բացելուց առաջ։ Հետևաբար Express-ի՝ Host-ից ստացված hostname-ը չի կարող երթուղի ընտրել այդ պրոքսի ենթադոմեյնների հիման վրա։
Եթե վերահսկում եք հաճախորդին և պրոքսին, ապա տրամադրեք երթուղավորման բացահայտ մուտք։ X-Route պիտակը ներդնող պրոքսիի համար՝
curl --proxy http://east.proxy.example:8080 \
--proxy-header 'X-Route: east' \
https://www.example.org/
--proxy-header-ը ուղղված է պրոքսիի հետ հաղորդակցությանը, ներառյալ CONNECT-ը։ HTTPS հարցման վրա սովորական -H վերնագիրը պատկանում է նպատակակետի գաղտնագրված HTTP փոխանակությանը։
Սերվերը պետք է ներդնի և թույլատրի երթուղավորման քաղաքականությունը, ապա օգտագործի պիտակը՝ առանց այն կայքին փոխանցելու։ Այլընտրանքորեն, որպես երթուղավորման մուտք օգտագործեք առանձին կարգավորված լսման վերջնակետեր կամ պրոքսի հաշիվներ։
HTTPS նպատակակետերի համար Node-ը նախնական թունելային հարցումը ստանում է իր HTTP սերվերի connect իրադարձության միջոցով։ Սովորական Express հարցումների միջնորդ ծրագիրը չի մշակում այդ իրադարձությունը։ Նրա CONNECT թիրախը դեռևս նույնականացնում է նպատակակետ սերվերը, ոչ թե պրոքսիի կեղծանունը։