西安优秀的定制网站建设公司哪家好,百度免费邮箱注册,学习完成网站建设作业,如何做网站关键词收录利用cron定时任务自动更新SSL证书后#xff0c;用浏览器访问网站#xff0c;获取到的证书仍然是之前的。原因在于没有对Nginx进行重启。
据说certbot更新完成证书后会自动重启Nginx,但显然经我检测不是这回事儿。
所以我们需要创建一bash脚本#xff0c;然后定时调用这个脚…利用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 -e34 4 * * * /opt/bash_scripts/renew-certificate.shCentos上的默认文本编辑器vi的操作方法积累
在上面的任务中脚本首先运行 certbot renew 命令然后检查返回的退出码。如果退出码为0即证书已成功更新【如果是多个证书只有一个证书更新了退出码都为0】则重新加载 Nginx。
这样你的定时任务将运行脚本脚本将负责更新证书并重新加载 Nginx。