今天要介紹的是Let's Encrypt自動更新
wget https://github.com/certbot/certbot/archive/master.zip #下載文件
unzip master.zip #解壓文件
cd certbot-master/ #切換目錄
./certbot-auto --help #幫助命令
./certbot-auto certonly --webroot --agree-tos -v -t --email vate96@qq.com -w /var/www -d www.vate.ren#申請ssl證書
如果報錯,再執(zhí)行一遍然后生成的證書在/etc/letsencrypt/live/下編輯
添加nginx配置文件
listen 443;
server_name www.vate.ren;
ssl on;
root /var/www;
index index.html index.php;
ssl_certificate "/etc/letsencrypt/live/www.vate.ren/fullchain.pem";
ssl_certificate_key "/etc/letsencrypt/live/www.vate.ren/privkey.pem";
#你的其他配置文件
}
service nginx reload #重啟nginx
即可完成SSL的配置,有效期3個月,快到期會自動往上面的郵箱發(fā)郵件,后臺renew續(xù)期即可
/root/certbot-master/certbot-auto renew
完成續(xù)期加入定時任務,設置了每周一凌晨4點30自動更新證書,并自動重啟nginx服務,證書在到期前30天內才能更新,多余的更新會自動忽略掉的,每周更新還有一個好處是更新可能會失敗,這樣最多還有4次的嘗試機會來保證不會過期.
創(chuàng)建腳本 renew-cert.sh
#!/bin/bash
/root/certbot-master/certbot-auto renew
/sbin/service nginx reload
保存腳本,并給予可執(zhí)行權限
chmod a+x renew-cert.sh
寫入定時任務
crontab -e
30 4 * * 1 /root/renew-cert.sh >> /root/renew-cert.log 2>&1
保存并重啟crontd
service crond restart
完成自動更新證書