ایک مقامی TCP ریلے خود TLS کا آخری مقام بنے بغیر Monit کی HTTPS رپورٹس کو SOCKS کے ذریعے لے جا سکتا ہے۔ روٹنگ کو HTTPS کے لیے کلیکٹر کا نام محفوظ رکھنا چاہیے اور ساتھ ہی ریلے کو اس کا اصل منزل پتہ دینا چاہیے۔

فرض کریں کہ کلیکٹر collector.example ہے، 203.0.113.40:443 پر۔ موجودہ socat پر مبنی ترتیب میں ریلے کی یہ شکل ہے:

socat TCP4-LISTEN:9900,bind=127.0.0.1,reuseaddr,fork \
  SOCKS4:socks.example:203.0.113.40:443,socksport=1080

یہاں 127.0.0.1:9900 Monit کا مقامی کنکشن قبول کرتا ہے۔ socks.example:1080 SOCKS4 سرور ہے، جسے پورٹ 443 پر کلیکٹر کے اصل پتے سے جڑنے کو کہا جاتا ہے۔ تمام دستاویزی پتوں کو تعیناتی کی قدروں سے بدل دیں۔

کلیکٹر کا نام مقامی طور پر اسی سننے والے تک حل کریں، اور نام monitrc میں رکھیں:

127.0.0.1 collector.example

set mmonit https://monit:[email protected]:9900/collector

پہلی سطر hosts فائل کا اندراج ہے؛ دوسری Monit کی کنفیگریشن ہے۔ کلیکٹر کی اصل اسناد مطلوبہ URL انکوڈنگ کے ساتھ استعمال کریں۔ hosts فائل کی میپنگ مشین پر اس نام کو استعمال کرنے والی دیگر ایپلیکیشنز کو بھی متاثر کرتی ہے۔

HTTPS ہینڈ شیک اب بھی کلیکٹر کا ہے، اس لیے اس کا ہوسٹ نام برقرار رکھیں اور مقصود سرٹیفکیٹ تصدیق کی پالیسی۔ URL کو localhost میں بدلنے سے وہ شناخت بدل جاتی ہے جسے Monit تصدیق کرنے کو کہتا ہے۔

ریلے جان بوجھ کر کلیکٹر کا اصل IP استعمال کرتا ہے، loopback پر دوبارہ میپ شدہ نام ڈھونڈنے کے بجائے۔ جب کلیکٹر کا پتہ بدلے تو وہ IP اپ ڈیٹ کریں۔ سننے والے کو رپورٹنگ راستے کے حصے کے طور پر دستیاب رکھیں؛ fork قبول شدہ ریلے کنکشنز کو الگ ہینڈلنگ دیتا ہے۔

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