Debian
使用 ssl (https) 進行監控
我最近安裝了 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
再次執行該命令。