Un relé TCP local puede transportar los informes HTTPS de Monit por SOCKS sin convertirse él mismo en el extremo TLS. El enrutamiento debe conservar el nombre del colector para HTTPS y, a la vez, dar al relé su dirección de destino real.

Suponga que el colector es collector.example en 203.0.113.40:443. En un montaje existente basado en socat, el relé tiene esta forma:

socat TCP4-LISTEN:9900,bind=127.0.0.1,reuseaddr,fork \
  SOCKS4:socks.example:203.0.113.40:443,socksport=1080

Aquí 127.0.0.1:9900 acepta la conexión local de Monit. socks.example:1080 es el servidor SOCKS4, al que se pide conectar con la dirección real del colector en el puerto 443. Sustituya todas las direcciones de documentación por los valores del despliegue.

Resuelva el nombre del colector hacia ese oyente de forma local y mantenga el nombre en monitrc:

127.0.0.1 collector.example

set mmonit https://monit:[email protected]:9900/collector

La primera línea es una entrada del archivo hosts; la segunda es la configuración de Monit. Use las credenciales reales del colector con la codificación URL requerida. La asignación en el archivo hosts también afecta a otras aplicaciones que usan ese nombre en la máquina.

El handshake HTTPS sigue perteneciendo al colector, así que conserve su nombre de host y la política de verificación de certificados prevista. Cambiar la URL a localhost cambia la identidad que Monit pide verificar.

El relé usa deliberadamente la IP real del colector en lugar de resolver el nombre remapeado a loopback. Actualice esa IP cuando cambie la dirección del colector. Mantenga el oyente disponible como parte de la ruta de informes; fork da un tratamiento separado a las conexiones de relé aceptadas.

Artículos relacionados