闲淡酱杂货店

利用Certbot获取Let's Encrypt证书

一年前在阿里云申请的证书眼看快到期了,本来想弄COMODO的3年证书的,结果没成功,最后就老老实实用Let's Encrypt了。用的官方推荐的Certbot来申请,基本就几条命令,记录一下方便日后使用。

我的服务器系统是CentOS7.3的,环境用的是Nginx。

获取Certbot

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

自动安装

./certbot-auto

生成证书

单域名申请:

./certbot-auto certonly --email admin@domain.com --agree-tos --webroot -w /data/wwwroot/domain.com -d domain.com

多域名单目录申请(即多个域名使用同一个网站目录):

./certbot-auto certonly --email admin@domain.com --agree-tos --webroot -w /data/wwwroot/domain.com -d domain.com -d www.domain.com

多域名多目录生成多个证书:

./certbot-auto certonly --email admin@domain.com --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

只有一条评论QAQ

  1. 命令行下获取不会啊

    鸟叔 回复