欢迎光临
我们一直在努力

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"
赞(0) 打赏
未经允许不得转载:爱游戏 » centos7+nginx+certbot+自动续期
分享到: 更多 (0)

爱游戏

联系我们