یک رله TCP محلی می‌تواند گزارش‌های HTTPS مانیت را از طریق SOCKS حمل کند بدون آنکه خودش نقطه پایانی TLS شود. مسیریابی باید نام جمع‌کننده را برای 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 اتصال محلی مانیت را می‌پذیرد. 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 همچنان متعلق به جمع‌کننده است، پس نام میزبان آن را حفظ کنید و سیاست بررسی گواهی مورد نظر را. تغییر نشانی به localhost هویتی را که Monit می‌خواهد بررسی کند تغییر می‌دهد.

رله آگاهانه از IP واقعی جمع‌کننده استفاده می‌کند نه از جست‌وجوی نامی که به loopback نگاشت شده است. هرگاه نشانی جمع‌کننده تغییر کرد آن IP را به‌روز کنید. شنونده را به‌عنوان بخشی از مسیر گزارش در دسترس نگه دارید؛ fork به اتصال‌های پذیرفته‌شده رله پردازش جداگانه می‌دهد.

مقالات مرتبط