Let’s Encrypt提供二個月免費的SSL憑證讓大家使用,也允許大家自動renew更新,所以我們採用Certbot讓程式配合排程來自動更新憑證安裝 Certbot
yum -y install epel-release mod_ssl certbot
取得憑證 例:我想取得以下blog.hmes.kh.edu.tw主機名稱的憑證,並提供電子郵件信箱供Let’s Encrypt提供後續相關訊息。
certbot certonly --webroot -w /var/www/html -d blog.hmes.kh.edu.tw --email username6@example.com --agree-tos
驗證成功後,相關憑證會在 /etc/letsencrypt/live/blog.hmes.kh.edu.tw/ 下面。
設定 Apache 設定SSL相關設定。
編輯/etc/httpd/conf.d/ssl.conf
vi /etc/httpd/conf.d/ssl.conf
找到 SSLCertificateFile與SSLCertificateKeyFile及SSLCACertificateFile 這三行並修改相關路徑。
SSLCertificateFile /etc/letsencrypt/live/blog.hmes.kh.edu.tw/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/blog.hmes.kh.edu.tw/privkey.pem SSLCACertificateFile /etc/letsencrypt/live/blog.hmes.kh.edu.tw/fullchain.pem
設定完儲存並離開後重新啟動Apache
systemctl restart httpd
建立更新script檔並設定排程自動更新憑證。
vi /root/renew.sh #!/bin/sh /usr/bin/certbot renew --quiet --agree-tos --post-hook "systemctl reload httpd"
儲存離開後將renew.sh給予執行權限。
chmod 755 /root/renew.sh
加入排程讓程式每周一上午3點自動更新。
crontab -e 0 3 * * 1 /root/renew.sh > /dev/null 2>&1參考來源 https://www.harryjee.com/wordpress/centos-8-%E5%AE%89%E8%A3%9Dcertbot%E8%87%AA%E5%8B%95%E5%8F%96%E5%BE%97%E5%8F%8A%E6%9B%B4%E6%96%B0lets-encrypt-ssl%E6%86%91%E8%AD%89/
Protocols h2 h2c http/1.1