کسی ایپلیکیشن کے پاس سننے والا مقامی پراکسی ایسا نیٹ ورک دوبارہ پیدا نہیں کرتا جس میں پراکسی کے ذریعے رسائی لازم ہو۔ ایپلیکیشن کنفیگر شدہ پراکسی کو نظر انداز کر کے براہِ راست جڑ سکتی ہے اور پھر بھی کامیابی کی اطلاع دے سکتی ہے۔

ایپلیکیشن کے نیٹ ورک کو پراکسی کے بیرونی راستے سے الگ کریں۔ کنٹینر پر مبنی ایک ترتیب ایپلیکیشن کو صرف اندرونی نیٹ ورک پر رکھتی ہے اور پراکسی کو دوسرا بیرونی نیٹ ورک دیتی ہے۔ موجودہ Compose تعریف میں نیٹ ورک کنکشن اس طرح دکھائی دے سکتے ہیں:

services:
  app:
    networks: [clients]
  proxy:
    networks: [clients, egress]
networks:
  clients:
    internal: true
  egress: {}

یہ پہلے سے متعین سروسز کے لیے نیٹ ورک کا ایک ٹکڑا ہے۔ منظور شدہ فارورڈ پراکسی اور ایپلیکیشن کے اصل کلائنٹ کو الگ الگ کنفیگر کریں۔ Docker اندرونی نیٹ ورکس کو باہر سے الگ بتاتا ہے؛ اس ترتیب میں اضافی بیرونی نیٹ ورک صرف پراکسی کے پاس ہے۔

پراکسی کے استعمال کے بغیر ایک منفی صورت بھی شامل کریں: ایپلیکیشن کی بیرونی درخواست ناکام ہونی چاہیے۔ تصدیق شدہ HTTP پراکسی میں مسترد شدہ اکاؤنٹ کو اپنی تصدیق کی ناکامی دینی چاہیے، جبکہ قبول شدہ اکاؤنٹ کو متعلقہ پراکسی مشاہدے کے ساتھ ہدف تک پہنچنا چاہیے۔

پراکسی کی اجازت یافتہ اور مسترد شدہ صورتیں الگ الگ جانچیں۔ ایپلیکیشن کو دیگر بیرونی نیٹ ورکس سے دور رکھیں اور پراکسی کو بائی پاس کرنے والا ہوسٹ نیٹ ورک موڈ شامل نہ کریں۔ کامیاب درخواست صرف اسی وقت مفید ثبوت ہے جب ٹیسٹ بالکل وہی راستہ فراہم کرے جو ارادہ تھا۔

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