فرض کریں کہ 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 ہدف اب بھی منزل سرور کی نشاندہی کرتا ہے، پراکسی متبادل نام کی نہیں۔

متعلقہ مضامین