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=1080

Hä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/collector

Den 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.

Relaterade artiklar