centos7+nginx+certbot+自动续期

概述


nginx是一个多数人都在用的web容器,并且更适合于做负载均衡,certbot则是一个免费ssl证书的CA,两者结合可以轻松的搭建https网站,但是经常要想着续费会是一件 非常头疼的事情,另外,网上某些教程(可能不是某些,抄来抄去,就成了一大堆了)对于nginx监听80端口的则是无能为力,本文将使用一种更为方便的方式自动续费。


安装Nginx


不废话,直接 epel+yum

yum install epel-release -y
yum install nginx -y


Nginx配置文件


在/etc/nginx/conf.d/目录下创建example.com.conf(文件名方便记忆即可)

server {

    listen       443 ssl;

    server_name  example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

    ssl_prefer_server_ciphers on;

}


Nginx服务管理


这个不想多说,先Enable服务项

systemctl enable nginx


启动/停止/重启

systemctl start/stop/restart nginx


安装Certbot


前面装了epel了,直接yum之

yum install certbot -y


申请某域名(例如*.example.com)的证书

注意:申请或续费都需要空闲80端口来做验证,这里如果nginx监听了80端口,一定要关掉

至于填自动续费的坑后面会提到

certbot certonly -d *.example.com -d example.com


自动续费


首先检查运行状态

systemctl status crond


如果没有启动,先enable它再start它

systemctl enable crond
systemctl start crond


编辑计划任务

crontab -e


输入下面的表达式,让他每天都尝试一次关闭nginx->更新->启动nginx,到了最后30天的时候就会成功


0 0 * * * "systemctl stop nginx ; /bin/certbot renew ; systemctl restart nginx"

版权所有:《mntm博客》 => 《centos7+nginx+certbot+自动续期
本文地址:http://www.mntm520.com/post/48
除非注明,文章均为 《mntm博客》 原创,欢迎转载!转载请注明本文地址,谢谢。

暧昧贴

发表评论

    微笑 大笑 拽 大哭 奸笑 流汗 喷血 生气 囧 不爽 晕 示爱 卖萌 吃惊 迷离 爱你 吓死了 呵呵

      已有1条评论

    1. avatar 沙发
      执行certbot certonly -d *.example.com -d example.com时出现certbot certonly -d *.ravpf.cn -d ravpf.cn
      Traceback (most recent call last):
        File "/usr/bin/certbot", line 9, in <module>
          load_entry_point('certbot==1.6.0', 'console_scripts', 'certbot')()
        File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 564, in load_entry_point
          return get_distribution(dist).load_entry_point(group, name)
        File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2662, in load_
      2020-07-31 01:27 回复