monit com ssl (https)

2

Instalei recentemente o monit (no debian) e tudo está funcionando bem. Agora gostaria de ativar o suporte a SSL. Eu fiz o que encontrei na documentação:

set httpd port 2812
  ssl enable
  pemfile /etc/ssl/certs/ssl-cert-snakeoil.pem

Agora, não só não consigo acessar o servidor pela Web com o link , mas a comunicação entre o daemon monit e o comando monit falha também:

$# monit status
monit: Openssl read timeout error!
monit: error connecting to the monit daemon
    
por Rastaf 15.01.2014 / 14:37

1 resposta

8

Parece que você não gerou um certificado SSL. Aqui alguns ponteiros (eu fiz isso no meu Ubuntu).

Verifique se Openssl está disponível no seu sistema, se não apt-get install openssl

  • Criar pasta /var/certs
  • Navegue até esta pasta cd /var/certs
  • crie um arquivo chamado monit.cnf e copie / cole o seguinte, salve e feche o arquivo:
#create RSA certs - Server
   RANDFILE = ./openssl.rnd
   [ req ]
   default_bits = 1024
   encrypt_key = yes
   distinguished_name = req_dn
   x509_extensions = cert_type
   [ req_dn ]
   countryName = Country Name (2 letter code)
   countryName_default = MO
   stateOrProvinceName    = Ile de France
   stateOrProvinceName_default     = Monitoria
   localityName                    = Paris
   localityName_default            = Monittown
   organizationName                = the_company
   organizationName_default        = Monit Inc.
   organizationalUnitName          = Organizational Unit Name
   organizationalUnitName_default  = Dept. of Monitoring Technologies
   commonName                      = Common Name (FQDN of your server)
   commonName_default              = server.monit.mo
   emailAddress                    = Email Address
   emailAddress_default            = [email protected]
   [ cert_type ]
   nsCertType = server
  • Em seguida, execute (pressione enter cada vez que você for solicitado a fornecer informações):

openssl req -new -x509 -days 365 -nodes -config ./monit.cnf -out /var/certs/monit.pem -keyout /var/certs/monit.pem

  • Definir permissões: chmod 700 /var/certs/monit.pem (no meu caso, user:group para o arquivo pem é root:root )

Defina o seguinte no seu arquivo de configuração monitrc :

set httpd port 2812
   ssl enable
   pemfile /var/certs/monit.pem 
   allow user:pass

Reinicie o monit

Deve funcionar! Agora cabe a você colocar suas informações reais no arquivo monit.cnf e executar o comando openssl novamente.

    
por 15.01.2014 / 17:42