फॉरवर्ड प्रॉक्सीचे होस्टनेम विनंतीमध्ये नाही
साधी HTTP फॉरवर्ड-प्रॉक्सी विनंती गंतव्य ओळखते, म्हणून Host आणि Express होस्टनेम प्रॉक्सीची स्वतःची उपनावे वेगळी करू शकत नाहीत.
समजा east.proxy.example आणि west.proxy.example एकाच साध्या HTTP प्रॉक्सी श्रोत्याकडे जातात. कोणतेही नाव वापरणारा क्लायंट पाठवू शकतो:
GET http://www.example.org/report HTTP/1.1
Host: www.example.orgविनंती वेबसाइट ओळखते. TCP उघडण्यापूर्वी क्लायंटने सोडवलेले प्रॉक्सी उपनाव ती घेऊन जात नाही. त्यामुळे Hostमधून मिळालेले Express होस्टनेम त्या प्रॉक्सी उपडोमेनवर आधारित मार्ग निवडू शकत नाही.
जर तुम्ही क्लायंट आणि प्रॉक्सी नियंत्रित करत असाल, तर स्पष्ट राउटिंग इनपुट द्या. 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 लक्ष्य अजूनही गंतव्य सर्व्हर ओळखते, प्रॉक्सी उपनाव नाही.