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

linux系统下nginx网站ssl证书自动续签

本文使用 acme.sh + 自动续签 + Nginx reload

1.安装 acme.sh

curl https://get.acme.sh | sh

acme.sh 在申请证书时,默认使用 ZeroSSL 作为 CA(证书颁发机构),ZeroSSL 免费额度有限(通常每月 3 张 DV 证书免费),超过后需要付费

如果你想继续用 Let’s Encrypt(完全免费,无次数限制),需要手动指定:

~/.acme.sh/acme.sh --set-default-ca --server letsencrypt

2.确认验证目录目录

首先需要确认网站根目录,通常在nginx配置中的root标识行,如果没有设置过网站根目录,则是nginx默认的目录,可以检查以下目录是否是网站根目录

ls /usr/local/nginx/html
ls /etc/nginx/html

 创建验证目录并赋予权限

mkdir -p /usr/local/nginx/html/.well-known/acme-challenge/
chmod -R 755 /usr/local/nginx/html/.well-known

 

3. 申请证书

假设你的网站是 example.com,网站根目录是 /usr/local/nginx/html :

~/.acme.sh/acme.sh --issue -d example.com -w /usr/local/nginx/html
  • -d example.com :域名

  • -w /var/www/html :HTTP 验证路径,对应 nginx 配置里 root 的路径

如果你有 www.example.com 也要加上:

~/.acme.sh/acme.sh --issue -d example.com -d www.example.com -w /usr/local/nginx/html

 

4.安装证书到你指定路径

~/.acme.sh/acme.sh --install-cert -d example.com \
--key-file /root/ssl_certs/example.com.key \
--fullchain-file /root/ssl_certs/example.com.pem \
--reloadcmd "systemctl reload nginx"

如果提示重启nginx失败,可以手动执行命令重启,如 systemctl restart nginx.service

 

5.检查自动更新

crontab -l

应该能看到类似:

0 0 * * * "~/.acme.sh"/acme.sh --cron --home "~/.acme.sh" > /dev/null

acme.sh 会每天检查一次证书是否快到期(30 天内),自动续签并执行 --reloadcmd

手动测试续签:

~/.acme.sh/acme.sh --renew -d example.com --force

 

 

注:以上方案由ChatGPT生成

 

http://www.gsyq.cn/news/11069.html

相关文章:

  • C#使用Bitmap操作图像的基础方法
  • wpf 自定义输入ip地址的文本框 - 详解
  • 《密码系统设计》第三周
  • VS2022 不支持 .NET Framework 4.0 的解决方法
  • P3747 [六省联考 2017] 相逢是问候
  • 构建一个支撑10万设备的虚拟电厂IoT高效的平台
  • B1I、B1C、B2a双频北斗卫星定位芯片AT9850B-F7N-22
  • 2025 国产代码托管新局:Gitee 领跑本土生态 - 实践
  • Wi-Fi技能——网络安全
  • 完整教程:【开源】基于STM32的智能车尾灯
  • 机动数据集ESA
  • Scanner 和if
  • python自动化操作PDF
  • 完整教程:【数据结构】 ArrayList深入解析
  • 完整教程:PyCharm 在 Linux 上的安装指南
  • 分布式 ID 生成方案实战指南:从选型到落地的全场景避坑手册(二) - 指南
  • BUUCTF-babyheap_0ctf_2017题解(含详细过程与思路分析)
  • 【EF Core】框架底层的数据库连接管理
  • iNeuOS工业互联网操作系统,更新计量数据处理方式和在线报表,实现能源管理基础功能
  • 实用指南:Qt的数据库模块介绍,Qt访问SQLite详细示例
  • React自定义同步状态Hook - 详解
  • SpringBootMVC相关内容
  • 小柏实战学习Liunx(图文教程三十五)
  • HarmonyOS 5 通知与语音能力开发实战:从消息推送到智能语音交互
  • Keithley 万用表里测电阻分成两种模式
  • 实战:基于HarmonyOS 5构建分布式聊天通讯应用
  • HarmonyOS 5 高级动效实战:粒子系统、路径动画与物理动效开发
  • 全新 CloudPilot AI:嵌入 Kubernetes 的 SRE Agent,降本与韧性双提升!
  • HarmonyOS 5 性能优化全攻略:从启动加速到内存管理
  • HarmonyOS 5 网络编程与数据存储实战:从RESTful API到本地持久化