Um relé TCP local pode transportar os relatórios HTTPS do Monit por SOCKS sem se tornar ele próprio o ponto final TLS. O encaminhamento deve preservar o nome do coletor para HTTPS e, ao mesmo tempo, dar ao relé o seu endereço de destino real.

Suponha que o coletor seja collector.example em 203.0.113.40:443. Numa configuração existente baseada em socat, o relé tem esta forma:

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

Aqui 127.0.0.1:9900 aceita a conexão local do Monit. socks.example:1080 é o servidor SOCKS4, ao qual se pede para ligar ao endereço real do coletor na porta 443. Substitua todos os endereços de documentação pelos valores da implantação.

Resolva localmente o nome do coletor para esse ouvinte e mantenha o nome em monitrc:

127.0.0.1 collector.example

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

A primeira linha é uma entrada do ficheiro hosts; a segunda é a configuração do Monit. Use as credenciais reais do coletor com a codificação URL necessária. O mapeamento no ficheiro hosts também afeta outras aplicações que usam esse nome na máquina.

O handshake HTTPS continua a pertencer ao coletor, por isso mantenha o nome de host e a política de verificação de certificados pretendida. Alterar a URL para localhost muda a identidade que o Monit pede para verificar.

O relé usa deliberadamente o IP real do coletor em vez de resolver o nome remapeado para loopback. Atualize esse IP quando o endereço do coletor mudar. Mantenha o ouvinte disponível como parte do caminho de relatórios; fork dá um tratamento separado às conexões de relé aceites.

Artigos relacionados