首先下載證書管理工具, 當(dāng)前只提供了 Unix 版本
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
certbot-auto 用到了 python, 在運(yùn)行 certbot-auto 之前, 需要設(shè)置一下 python 的源代理, 要不然會(huì)被墻, 這里是個(gè)巨坑.
mkdir -p ~/.pip
vim ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
運(yùn)行 certbot-auto 生成證書
./certbot-auto certonly --webroot -w /var/www -d domain1 -d domain2
關(guān)于 webroot : https://certbot.eff.org/docs/using.html#webroot
配置 Nginx, 開啟 443
server {
server_name domain1 domain2;
listen 443;
ssl on;
ssl_certificate /etc/letsencrypt/live/domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/domain/chain.pem;
...
全面啟用 HTTPS, 將 HTTP 重定向到 HTTPS
server {
server_name domain1 domin2;
listen 80;
return 301 https://$host$request_uri;
}
測試重新生成證書
./certbot-auto renew --dry-run
正式環(huán)境設(shè)置定時(shí)生成證書 (minute hour day month week)
# 每周一凌晨 02:30
crontab -e
30 2 * * 1 /root/certbot/certbot-auto renew >> /var/log/certbot.log & echo certbo last renew at `date` >> /var/log/certbot.log