Un relé TCP local pode transportar os informes HTTPS de Monit por SOCKS sen converterse el mesmo no extremo TLS. O encamiñamento debe conservar o nome do colector para HTTPS e, ao mesmo tempo, dar ao relé o seu enderezo de destino real.

Supoña que o colector é collector.example en 203.0.113.40:443. Nunha montaxe existente baseada en socat, o relé ten 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 a conexión local de Monit. socks.example:1080 é o servidor SOCKS4, ao que se lle pide conectar co enderezo real do colector no porto 443. Substitúa todos os enderezos de documentación polos valores do despregamento.

Resolva o nome do colector cara a ese oínte de forma local e manteña o nome en monitrc:

127.0.0.1 collector.example

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

A primeira liña é unha entrada do ficheiro hosts; a segunda é a configuración de Monit. Use as credenciais reais do colector coa codificación URL necesaria. A asignación no ficheiro hosts tamén afecta outras aplicacións que usan ese nome na máquina.

O handshake HTTPS segue pertencendo ao colector, así que conserve o seu nome de host e a política de verificación do certificado prevista. Cambiar a URL a localhost cambia a identidade que Monit pide verificar.

O relé usa deliberadamente o IP real do colector en lugar de resolver o nome remapeado a loopback. Actualice ese IP cando cambie o enderezo do colector. Manteña o oínte dispoñible como parte da ruta de informes; fork dá un tratamento separado ás conexións de relé aceptadas.

Artigos relacionados