使用 SSL (https) 进行监控

使用 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

答案1

看来您没有生成 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            = [email protected]
   [ 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.cnfopenssl再次运行该命令。

相关内容