当前位置: 首页 > article >正文

如何解决利用cron定时任务自动更新SSL证书后Nginx重启问题

利用cron定时任务自动更新SSL证书后,用浏览器访问网站,获取到的证书仍然是之前的。原因在于没有对Nginx进行重启。

据说certbot更新完成证书后会自动重启Nginx,但显然经我检测不是这回事儿。

所以我们需要创建一bash脚本,然后定时调用这个脚本。

第01步:创建一个新的脚本文件 renew-certificate.sh

如果Nginx不可以通过Nginx命令重启,那么脚本如下:
内容如下:

#!/bin/bash

# 运行 Certbot 更新命令
certbot renew --quiet

# 检查证书是否已更新
if [ $? -eq 0 ]; then
    # 证书已更新,重新加载 Nginx
    sudo /usr/local/nginx/sbin/nginx -s reload
fi

在这里插入图片描述

如果Nginx可以通过Nginx命令重启,那么把上面脚本中的:

sudo /usr/local/nginx/sbin/nginx -s reload

换成:

systemctl reload nginx

第02步:确保脚本具有执行权限

chmod +x renew-certificate.sh

或者直接用护卫神面板进行修改。
在这里插入图片描述
在这里插入图片描述

第03步:修改定时任务,调用脚本

sudo crontab -e
34 4 * * * /opt/bash_scripts/renew-certificate.sh

Centos上的默认文本编辑器vi的操作方法积累

在上面的任务中,脚本首先运行 certbot renew 命令,然后检查返回的退出码。如果退出码为0(即证书已成功更新【如果是多个证书,只有一个证书更新了,退出码都为0】),则重新加载 Nginx。

这样,你的定时任务将运行脚本,脚本将负责更新证书并重新加载 Nginx。


http://www.kler.cn/news/234155.html

相关文章:

  • 如何从 iPhone 恢复已删除的视频:简单有效方法
  • 【漏洞复现】多语言药房管理系统MPMS文件上传漏洞
  • [论文总结] 深度学习在农业领域应用论文笔记12
  • LayUI中表格树折叠 --
  • Redis -- 安装客户端redis-plus-plus
  • 形态学算法之边界提取的简单python实现——图像处理
  • C# Socket通信从入门到精通(21)——Tcp客户端判断与服务器断开连接的三种方法以及C#代码实现
  • 1.5 Binance_interface API 币本位合约行情
  • Java基础知识总结(持续更新中)
  • 第一篇【传奇开心果微博文系列】Python微项目技术点案例示例:pillow库实现毛笔字春联
  • 华为数通方向HCIP-DataCom H12-821题库(单选题:461-480)
  • 【RabbitMQ(二)】:Exchange 详解 | Message Convert 消息转换器
  • (注解配置AOP)学习Spring的第十七天
  • 每日五道java面试题之java基础篇(五)
  • 43.1k star, 免费开源的 markdown 编辑器
  • grafana+prometheus+hiveserver2(jmx_exporter+metrics)
  • [AIGC] Spring Gateway:一个简单 yet powerful API 网关
  • 每日五道java面试题之java基础篇(二)
  • Go内存优化与垃圾收集
  • 安全之护网(HVV)、红蓝对抗
  • 蓝桥杯官网练习题(Excel地址)
  • 【Chrono Engine学习总结】3-地型terrain
  • Linux基础-配置网络
  • 数据分析基础之《pandas(7)—高级处理2》
  • hook函数——useRef
  • 无人机应用场景和发展趋势,无人机技术的未来发展趋势分析
  • ubuntu22.04安装部署03: 设置root密码
  • 机器学习简介
  • 2.9 Binance_interface APP 现货交易-限单价平仓
  • MySQL数据库-索引概念及其数据结构、覆盖索引与回表查询关联、超大分页解决思路