முன்னனுப்பு ப்ராக்ஸியின் ஹோஸ்ட்பெயர் கோரிக்கையில் இல்லை
சாதாரண 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 இலக்கு இன்னும் இலக்க சேவையகத்தையே அடையாளம் காட்டுகிறது, ப்ராக்ஸி மாற்றுப் பெயரை அல்ல.