Debian

使用 ssl (https) 進行監控

  • March 20, 2020

我最近安裝了 monit(在 debian 上),一切正常。現在我想啟用 ssl 支持。我做了我在文件中找到的:

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

現在,我不僅無法使用https://myserver.com:2812通過 Web 訪問伺服器,而且 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再次執行該命令。

引用自:https://serverfault.com/questions/567426