Kierowanie ruchu HTTPS kolektora Monit przez lokalny przekaźnik SOCKS
Zachowaj nazwę hosta kolektora w adresie URL Monit, podczas gdy lokalny odbiornik loopback przesyła połączenie TCP przez SOCKS4.
Lokalny przekaźnik TCP może przenosić raporty HTTPS Monit przez SOCKS, nie stając się sam punktem końcowym TLS. Routing musi zachować nazwę kolektora dla HTTPS i jednocześnie dać przekaźnikowi jego rzeczywisty adres docelowy.
Załóżmy, że kolektor to collector.example pod adresem 203.0.113.40:443. W istniejącej konfiguracji opartej na socat przekaźnik ma taką postać:
socat TCP4-LISTEN:9900,bind=127.0.0.1,reuseaddr,fork \
SOCKS4:socks.example:203.0.113.40:443,socksport=1080Tutaj 127.0.0.1:9900 przyjmuje lokalne połączenie Monit. socks.example:1080 to serwer SOCKS4, który łączy się z rzeczywistym adresem kolektora na porcie 443. Zastąp wszystkie adresy dokumentacyjne wartościami z wdrożenia.
Rozwiąż nazwę kolektora lokalnie na ten odbiornik i pozostaw nazwę w monitrc:
127.0.0.1 collector.example
set mmonit https://monit:[email protected]:9900/collectorPierwszy wiersz to wpis w pliku hosts; drugi to konfiguracja Monit. Użyj rzeczywistych danych uwierzytelniających kolektora z wymaganym kodowaniem URL. Mapowanie w pliku hosts wpływa też na inne aplikacje używające tej nazwy na maszynie.
Uścisk dłoni HTTPS nadal należy do kolektora, więc zachowaj jego nazwę hosta i zamierzoną politykę weryfikacji certyfikatu. Zmiana adresu URL na localhost zmienia tożsamość, której Monit każe zweryfikować.
Przekaźnik świadomie używa rzeczywistego adresu IP kolektora, zamiast szukać nazwy przemapowanej na loopback. Aktualizuj ten adres IP, gdy zmieni się adres kolektora. Utrzymuj odbiornik dostępny jako część ścieżki raportowania; fork zapewnia akceptowanym połączeniom przekaźnika osobną obsługę.