Назад | Перейти на главную страницу

Мониторинг с ssl (https)

Я недавно установил monit (на debian), и все работает нормально. Теперь я хотел бы включить поддержку ssl. Я сделал то, что нашел в документации:

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

Теперь я не только не могу подключиться к серверу через Интернет с помощью https://myserver.com:2812, но связь между демоном monit и командой monit также не выполняется:

$# monit status
monit: Openssl read timeout error!
monit: error connecting to the monit daemon

Кажется, вы не создали сертификат SSL. Вот несколько указателей (я делал это на своем Ubuntu).

Обеспечить Openssl доступен в вашей системе, если нет apt-get install openssl

  • Создать папку /var/certs
  • Перейдите в эту папку cd /var/certs
  • создать файл с именем monit.cnf и скопируйте / вставьте в него следующее, затем сохраните и закройте файл:
#create RSA certs - Server
   RANDFILE = ./openssl.rnd
   [ req ]
   default_bits = 2048
   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            = root@monit.mo
   [ cert_type ]
   nsCertType = server
  • Затем запустите (нажмите enter каждый раз, когда вам будет предложено ввести информацию):

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

  • Установите разрешения: chmod 700 /var/certs/monit.pem (в моем случае user:group для файла pem это root:root)

Установите в своем monitrc файл конфигурации:

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

Начать сначала monit

И тогда это работает! Теперь вам нужно поместить свою настоящую информацию в monit.cnf файл и запустите openssl команду снова.