Dirigera Monits HTTPS-insamlartrafik genom en lokal SOCKS-relä
Behåll insamlarens värdnamn i Monits URL medan en loopback-lyssnare skickar TCP-anslutningen genom SOCKS4.
En lokal TCP-relä kan bära Monits HTTPS-rapporter genom SOCKS utan att själv bli TLS-slutpunkten. Routningen måste bevara insamlarens namn för HTTPS och samtidigt ge reläet dess verkliga destinationsadress.
Anta att insamlaren är collector.example på 203.0.113.40:443. I en befintlig socat-baserad uppsättning har reläet denna form:
socat TCP4-LISTEN:9900,bind=127.0.0.1,reuseaddr,fork \
SOCKS4:socks.example:203.0.113.40:443,socksport=1080Här tar 127.0.0.1:9900 emot Monits lokala anslutning. socks.example:1080 är SOCKS4-servern, som ombeds ansluta till insamlarens verkliga adress på port 443. Ersätt alla dokumentationsadresser med distributionens värden.
Slå upp insamlarens namn lokalt till den lyssnaren och behåll namnet i monitrc:
127.0.0.1 collector.example
set mmonit https://monit:[email protected]:9900/collectorDen första raden är en hosts-filpost; den andra är Monit-konfigurationen. Använd insamlarens verkliga inloggningsuppgifter med den URL-kodning som krävs. En hosts-filmappning påverkar även andra program som använder namnet på maskinen.
HTTPS-handskakningen tillhör fortfarande insamlaren, så behåll dess värdnamn och den avsedda policyn för certifikatverifiering. Ändras URL:en till localhost ändras den identitet som Monit ber att verifiera.
Reläet använder medvetet insamlarens verkliga IP i stället för att slå upp namnet som omdirigerats till loopback. Uppdatera IP:n när insamlarens adress ändras. Håll lyssnaren tillgänglig som en del av rapporteringsvägen; fork ger accepterade reläanslutningar separat hantering.