Let‘s Encrypt 免费SSL证书,自动续订
Lets Encrypt 是一个免费的证书授权机构(CA)其通过 ACME 协议接口自动签发数字证书来让你省去证书过期的烦恼。ACME客户端有很多Lets Encrypt 官网推荐 Certbot 下面是具体获取免费证书的流程一、安装 Certbot 客户端yum install certbot二、生成证书certbot certonly --webroot -w /your/site/root -d yoursite.com -d上述命令会为 yoursite.com 和 www.yoursite.com 这两个域名生成证书使用 --weroot 模式会在 /your/site/root 中创建 .well-known 文件夹这个文件夹里面包含了一些验证文件certbot 会通过访问 yoursite.com/.well-known/acme-challenge 来验证你的域名是否绑定的这个服务器。生成的证书会被放置在 /etc/letsencrypt/live/yoursite.com/ 目录下。我们要用到的有两个 fullchain.pem 和 privkey.pem三、配置证书在 nginx 配置对证书server { server_name yoursite.com www.yoursite.com; listen 443; ssl_certificate /etc/letsencrypt/live/yoursite.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/yoursite.com/privkey.pem; }四、自动更新 SSL 证书Let’s Encrypt 提供的证书只有90天的有效期我们必须在证书到期之前重新获取这些证书certbot 给我们提供了一个很方便的命令那就是 certbot renew。 通过这个命令他会自动检查系统内的证书并且自动更新这些证书:certbot renew --dry-run上述命令需要手动在证书到期前执行来更新证书。为了更方便我们可以启动一个定时任务来完成自动更新。CentOS 7 上设置定时任务有多种方式如crontab、systemd timer、at等。本文采用crontab。我们设置每隔两个月执行一次更新命令并重启 nginx。首先看下 crontab 任务格式* * * * * command其中五个星号分别代表分钟、小时、日、月、周可以使用以下符号* 代表任意值,代表多个值-代表一个范围/代表间隔时间所以我们的命令如下0 3 4 */2 * certbot renew --post-hook nginx -s reload /var/log/certbot-renew.log 21上述命令表示每隔两个月的4号凌晨3点重新执行cerbot证书续期命令执行完后重启nginx并生成日志下面是具体设置定时任务步骤1、执行命令 crontab -e2、输入命令 0 3 4 */2 * certbot renew --post-hook nginx -s reload /var/log/certbot-renew.log 21保存并退出。系统提示no crontab for root - using an empty one crontab: installing new crontab表示定时任务设置成功可以通过 crontab -l 来查看定时任务是否设置成功。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2566332.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!