使用Certbot获取LE证书以及自动续签

服务器环境(Nginx + CentOS7)举例:

yum install certbot
certbot certonly

直接使用yum安装(也可以直接下载源码进行编译安装,然后执行certbot-auto certonly,操作应该是类似的,详情查看官网)后执行 certbot certonly

说一下操作步骤:
1、选择webroot验证模式,也就是将文件放到网站根目录,如果Nginx做了rewrite的话这里可能需要调整一下Nginx的配置,让它可以正常访问根目录下的.well-known目录。standalone模式看起来比较麻烦我没试…
2、输入自己的常用邮箱,用来接收通知和恢复密钥。
3、同意使用协议
4、输入需要做授权的域名,多个域名用空格隔开。
5、输入域名对应的根目录路径,如果多个域名的话,就按照提示按顺序输入。
6、等待验证通过。

验证通过以后会在/etc/letsencrypt/live/yourdomain.com/下生成四个文件:
    cert.pem : 公钥,服务器证书
    chain.pem : 中间证书
    fullchain.pem : 前两个的合集
    privkey.pem : 私钥

配置nginx的时候只要用fullchain.pem和privkey.pem即可,配置示例如下:

server {
    listen       443 ssl;
    server_name www.cngal.org;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/www.cngal.org/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.cngal.org/privkey.pem;

    ....
}

这样就完成了ssl的配置了 :)

证书有效期是3个月,续签只需要执行以下这一句就可以了,不需要再输入那么多信息(会续签所有证书)。
certbot renew
将这一句加入到crontab就可以完成自动续签的动作~

 

直接使用命令申请证书:

certbot certonly --webroot -w /var/www/example -d example.com

 

注意:在签发和续签过程中,确保nginx默认80端口配置可通过要配置的域名被访问。否则可能会出现“Invalid response from http://要配置的域名/.well-known/acme-challenge/***************************”错误。

 

http://blog.cngal.org/index.php?controller=post&action=view&id_post=10

 

posted @ 2022-09-23 16:32  刘镇维  阅读(362)  评论(0编辑  收藏  举报