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

如何解决利用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# 证书已更新,重新加载 Nginxsudo /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.lryc.cn/news/298860.html

相关文章:

  • 第一个 Angular 项目 - 静态页面
  • 网络协议与攻击模拟_17HTTPS 协议
  • 【linux系统体验】-ubuntu简易折腾
  • Android 判断通知是进度条通知
  • 学习数据结构和算法的第8天
  • JCIM | MD揭示PTP1B磷酸酶激活RtcB连接酶的机制
  • 基于Java (spring-boot)的音乐管理系统
  • 在 MacOS M系列处理器上使用 Anaconda 开发 Oralce 的Python程序
  • 四、OpenAI之文本生成模型
  • CSS之flex布局
  • UnityShader——02三大主流编程语言
  • Centos7安装nginx yum报错
  • 【机组】基于FPGA的32位算术逻辑运算单元的设计(EP2C5扩充选配类)
  • Asp .Net Core 系列:Asp .Net Core 集成 NLog
  • 一个基于 .NET 7 + Vue.js 的前后端分离的通用后台管理系统框架 - DncZeus
  • 更换商品图片日期JSON格式报错 - 序列化与反序列化日期格式设置
  • FastJson、Jackson使用AOP切面进行日志打印异常
  • 嵌入式大厂面试题(2)—— 富士康
  • 力扣_字符串4—编辑距离
  • MySQL篇----第二十篇
  • Promise 基础
  • RPA财务机器人之UiPath实战 - 自动化操作Excel进行财务数据汇总与分析之流程建立与数据读取、处理、汇总、分析
  • 华为机试真题实战应用【赛题代码篇】-输入整型数组和排序标识/根据排序标识flag给数组排序(附Java、C++和python代码)
  • 【算法随想录01】环形链表
  • macOS Sonoma 14.3.1(23D60)发布
  • 2024-02-11 叮当鸭-平台系统-第三次重构-目标确定
  • Android7.0-Fiddler证书问题
  • Kotlin:单例模式(项目使用实例)
  • vue百度地图的和element输入框/v-region的联动
  • 搜索+哈希/平衡树,LeetCode 987. 二叉树的垂序遍历