阿里云域名证书自动更新acme.sh

news2025/4/18 22:02:23

因为阿里云的免费证书只有三个月的有效期,每次更换都比较繁琐,所以找到了 acme.sh,还有一种 certbot 我没有去了解,就直接使用了 acme.sh 来更新证书,acme.sh 的主要特点就是:

  • 支持多种 DNS 服务商
  • 自动化续期
  • 直接指定证书路径

足以解决证书有效期问题。

1. 安装 acme.sh

如果尚未安装 acme.sh,切换到常用安装目录下通过以下命令安装,并加载环境变量和系统配置::

curl https://get.acme.sh | sh -s email=your_email@example.com
source ~/.bashrc

其他安装方式:

git clone https://gitee.com/neilpang/acme.sh.git
cd acme.sh
./acme.sh --install -m your_email@example.com
source ~/.bashrc

2. 获取阿里云 DNS API 密钥

登录阿里云控制台,进入 RAM 访问控制,创建一个具有 DNS 管理权限的子用户,并获取其 AccessKey IDAccessKey Secret



可参考 创建RAM用户 帮助文档查看详细规则。



在这里插入图片描述
创建用户账号后分配权限,选择 AliyunDNSFullAccess 为一个子用户授予完全管理云解析DNS 的权限。分配完成后会列表中会有复制按钮,需要保存你的 AccessKey IDAccessKey Secret,之后无法获取。

详细步骤参考 子用户权限管理 帮助文档。

3. 配置阿里云 DNS

上一步获取到的 AccessKey IDAccessKey Secret API 秘钥,配置到 acme.sh 中:

vim acme.sh
export Ali_Key="your_aliyun_access_key"
export Ali_Secret="your_aliyun_access_secret"

4. 申请 SSL 证书并自动续期

申请证书

acme.sh --issue --dns dns_ali -d example.com

创建证书存放目录

mkdir -p /etc/nginx/cert/example.com

安装证书并设置自动更新

acme.sh --install-cert -d example.com \
  --certpath /etc/nginx/cert/example.com/cert.pem \
  --keypath /etc/nginx/cert/example.com/privkey.pem \
  --fullchainpath /etc/nginx/cert/example.com/fullchain.pem \
  --reloadcmd "systemctl reload nginx"

检查自动续期配置

crontab -l

acme 自动设置定时任务,定期检查并更新证书,无需手动操作。
在这里插入图片描述

5. 域名解析到当前服务器并修改nginx配置文件

阿里云域名解析到当前服务器:
在这里插入图片描述

server
{
        listen 80;
        server_name example.com;
        rewrite ^(.*) https://$host$1 permanent;
}

server {
        listen          443 ssl;
        server_name     example.com;
        root            /root/example.com/public_html/public;
        index           index.php index.html index.htm;

        ssl_certificate      /etc/nginx/cert/example.com/fullchain.pem;
        ssl_certificate_key  /etc/nginx/cert/example.com/privkey.pem;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

		...

}

6. acme常用命令

查看证书列表:

acme.sh --list
或
"/root/.acme.sh"/acme.sh --list

查看证书信息:

acme.sh --info -d example.com

手动续期证书:

acme.sh --renew -d example.com

删除证书

acme.sh --remove -d example.com

7. 注意事项

  • 证书默认有效期为 90 天,acme.sh 会自动续期。
  • 如果使用其他 DNS 服务商,需调整相应的 API 配置。
  • 更多详细配置参考官方文档:

过程中遇到的问题

openssl 版本过低。

centos7|操作系统|升级openssl-1.0.2k到openssl-3.3.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2332529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据Hadoop(MapReduce)

MapReduce概述 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上…

图灵逆向——题十七-字体加密

十七题是一个很经典的字体加密案例,很适合新手入门~ 目录列表 过程分析代码实现 过程分析 打开开发者工具直接看请求,发现它请求的没有加密参数,以为万事大吉的你迫不及待的点击了响应,然后就会发现依托。。。 返回的数据中字体…

系统与网络安全------网络通信原理(5)

资料整理于网络资料、书本资料、AI,仅供个人学习参考。 传输层解析 传输层 传输层的作用 IP层提供点到点的连接传输层提供端到端的连接 端口到端口的连接(不同端口号,代表不同的应用程序) TCP协议概述 TCP(Transm…

minio提供nfs服务

minio提供nfs服务 挂载minio为本地目录配置开机自动挂载方法1: 使用supervisor实现开机自动挂载方法2: 服务单元实现开机自动挂载minio为本地目录---失败调试 配置NFS服务端 挂载minio为本地目录 使用 Minio 作为后端存储,并通过 NFS 为客户端提供访问,…

嵌入式---加速度计

一、基本概念与定义 定义 加速度计(Accelerometer)是一种测量物体加速度(线性加速度或振动加速度)的传感器,可检测物体运动状态、振动幅度、倾斜角度等,输出与加速度成比例的电信号(模拟或数字信…

swagger + Document

swagger 虽然有了api接口,对于复杂接口返回值说明,文档还是不能少。如果是一个人做的还简单一点,现在都搞前后端分离,谁知道你要取那个值呢

【Git】--- 多人协作实战场景

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: Git 前面我们学习了Git的所有本地仓库的相关操作:git基本操作,分支理解,版本回退,冲突解决等等。同时我们还理解了远端仓库在开发的作用以及相关操作push…

Higress: 阿里巴巴高性能云原生API网关详解

一、Higress概述 Higress是阿里巴巴开源的一款基于云原生技术构建的高性能API网关,专为Kubernetes和微服务架构设计。它集成了Ingress控制器、微服务网关和API网关功能于一体,支持多种协议和丰富的流量管理能力。 发展历程 Higress 从最初社区的 Isti…

VM——相机拍照失败

1、问题:相机频闪触发,在MVS中正常出图,在VM中出现拍照失败 2、解决: 1、首先排查网络设置(巨帧是否设置) 2、电脑的所有防火墙是否关闭 3、在MVS中恢复相机的设置参数为默认参数,删除VM中的全…

初识Redis · 简单理解Redis

目录 前言: 分布式系统 开源节流 认识Redis 负载均衡 缓存 微服务 前言: 本文只是作为Redis的一篇杂谈,简单理解一下Redis为什么要存在,以及它能做到和它不能做到的事儿,简单提及一下它对应的优势有什么&#…

自动驾驶时间同步

主要包含两个大的概念:时间系统间的时间同步与传感器数据间的时间同步 1. 时间系统间的时间同步 概念: 自动驾驶域控一般由多个芯片与多种类型的传感器组成,如:MCU SoC Camera Lidar Radar USS GNSS,其中 MCU…

项目进度延误的十大原因及应对方案

项目进度延误主要源于以下十大原因:目标不明确、需求频繁变更、资源配置不足或不合理、沟通不畅、风险管理不足、缺乏有效的项目监控、技术难题未及时解决、团队协作效率低下、决策链过长、外部因素影响。其中,需求频繁变更是导致延误的关键因素之一&…

消息队列(IPC技术)

目录 一、Linux 中主要的进程间通信方式如下: 二、消息队列函数 (1)msgget函数 功能概述 函数原型 参数解释 返回值 示例 结果 问题 (2) msgsnd函数 功能概述 函数原型 参数说明 返回值 示例 结果 (3&#xff0…

突破焊丝虚影干扰,端子焊点缺陷检测如何实现自动化?

端子焊点作为 3C 产品中连接电路的关键环节,其质量优劣对产品性能有着决定性影响。然而,传统人工检测端子焊点不仅效率低下,难以满足大规模生产需求,而且误判率高,无法精准把控产品质量,成为企业提质增效智…

电能质量在线监测分析装置支持实时监测、数据存储及远程传输,适用于电网、工业等场景

电能质量在线监测分析装置主要技术指标 2.1工作电源 交流:220V10% ;50Hz0.5Hz;谐波畸变率不大于15% 直流:220V10%,纹波系数不大于5% 2.2电流信号输入 输入方式:电流互感器输入; …

01分数规划

好久没发博客了……浅浅复活一下,讲个冷门些的算法。 算法目的:选出k组ai,bi使得 最大。 算法过程: 不妨考虑二分答案,那么答案的形式便是 的形式,则可通过移项转化为,进一步的,我们可以将…

网络安全防护技术

边界安全防护——防火墙 控制:在网络连接点上建立一个安全控制点,对进出数据进行限制隔离:将需要保护的网络与不可信任网络进行隔离,隐藏信息并进行安全防护记录:对进出数据进行检查,记录相关信息 防火墙…

课程分享 | 安全设计原则

讲师介绍 前言 在数字化时代,软件安全已从技术问题升级为关乎企业存亡的战略要务。从SolarWinds供应链攻击到Log4j漏洞风暴,一次次安全事件不断警示我们:传统的边界防护思维已无法应对日益复杂的威胁环境。面对不断演进的攻击手段&#xff0…

【数据结构 · 初阶】- 单链表

目录 一.相关指针知识点 二.链表 1.为什么学了顺序表还要学链表 2.优点 三.实现 1.链表的打印 —— 理解链表结构 (2) 物理结构图 2.链表的尾插 —— 入门 错误写法:tail ! NULL 总结: 正确代码物理图解: (2) 尾插整体代码 (思考…

在Linux系统命令行如何使用deepseek官方API调用AI大模型?

在Linux系统命令行如何调用deepseek官方API调用AI大模型? 书接上文: 同样的开头哈哈哈哈: ”在这个AI技术飞速发展的时代,每一个程序员都应该问问自己:如何将人工智能的强大能力融入到我们熟悉的操作系统中&#xff…