Локален TCP релей може да пренася HTTPS отчетите на Monit през 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 приема локалната връзка на 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 дава на приетите релейни връзки отделна обработка.

Подобни статии