一年前在阿里云申请的证书眼看快到期了,本来想弄COMODO的3年证书的,结果没成功,最后就老老实实用Let's Encrypt了。用的官方推荐的Certbot来申请,基本就几条命令,记录一下方便日后使用。
我的服务器系统是CentOS7.3的,环境用的是Nginx。
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto
单域名申请:
./certbot-auto certonly --email [email protected] --agree-tos --webroot -w /data/wwwroot/domain.com -d domain.com
多域名单目录申请(即多个域名使用同一个网站目录):
./certbot-auto certonly --email [email protected] --agree-tos --webroot -w /data/wwwroot/domain.com -d domain.com -d www.domain.com
多域名多目录生成多个证书:
./certbot-auto certonly --email [email protected] --agree-tos --webroot -w /data/wwwroot/domain.com -d domain.com -d www.domain.com -w /data/wwwroot/domain2.com -d domain2.com -d www.domain2.com
在这里总结一下,像我博客这种从不带www的域名转到带www域名访问的,选用多域名单目录的方式申请,不然直接用域名访问会提示网站不受信任。如果像一些只有一个域名的,例如"xxx.com"或者“blog.xxx.com”的就选用单域名单目录申请。申请的时候对应把邮箱地址、网站根目录和域名自行修改。
输入完毕后,出现这个画面即申请成功。
在这里可以看到证书路径和到期时间。
打开网站的conf文件,在server块里添加以下内容即可。根据自己的实际情况自行修改,443端口监听和重定向就不做过多介绍了。
ssl_certificate /etc/letsencrypt/live/www.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.domain.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/www.domain.com/chain.pem;
测试更新
./certbot-auto renew --dry-run
手动更新
./certbot-auto renew -v
自动更新
./certbot-auto renew --quiet --no-self-upgrade