当前位置:首页 > Linux > 正文内容

用acme.sh自动签发由阿里云托管域名的泛域名证书

Yusoon3个月前 (10-17)Linux181

步骤 1:安装 acme.sh(官方一键脚本)

# 安装
curl https://get.acme.sh | sh -s email=你的邮箱@example.com

# 让当前 shell 立即识别命令
source ~/.bashrc

安装完成后,acme.sh 位于 ~/.acme.sh/,并已自动创建 cron 任务。

步骤 2:配置阿里云 DNS API 密钥(RAM 子用户)

1、登录阿里云控制台 → RAM → 用户 → 创建用户 → 勾选编程访问
2、权限策略:AliyunDNSFullAccess
3、拿到 AccessKey ID 和 AccessKey Secret

# 写入全局环境变量(重启也生效)
echo 'export Ali_Key="LTAIxxxxxxxxxx"' >> /etc/profile
echo 'export Ali_Secret="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"' >> /etc/profile
source /etc/profile

步骤 3:签发泛域名证书(DNS 验证)

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

多域名时使用

acme.sh --issue --dns dns_ali \
  -d example.com \
  -d '*.example.com' \
  -d '*.child.example.com'
要点

1、每个 -d 只带一个域名
2、通配符必须用单引号包住,防止 shell 展开
3、可以混用普通域名 + 多个通配符,一张证书全覆盖
4、签发后所有域名会写进 SAN 字段,Nginx 里随便哪个 server_name 只要匹配其中一项就合法

成功后会看到:

Cert success.
证书已保存在 ~/.acme.sh/example.com/

步骤 4:安装证书到 Nginx(统一路径)

# 创建目录
mkdir -p /etc/nginx/ssl

# 安装并指定 reload 命令
acme.sh --install-cert -d example.com \
  --key-file       /etc/nginx/ssl/example.com.key \
  --fullchain-file /etc/nginx/ssl/fullchain.cer \
  --reloadcmd     "nginx -s reload"

续期成功后自动复制新证书并重载 Nginx。
若/etc/nginx/ssl/目录下无.key文件,则重新运行命令。

步骤 5:设置提前 3 天续期(全局生效)

# 立即生效并写入配置
acme.sh --set-default-ca --server letsencrypt
acme.sh --cron --home ~/.acme.sh --days 3

步骤 6:验证自动续期逻辑

# 手动模拟 cron 运行
acme.sh --cron --home ~/.acme.sh --days 3

如果证书剩余天数 > 3,提示 Skip;
如果 ≤ 3,会立即续期并重启 Nginx。

步骤 7:查看证书信息 & 剩余天数

# 列表
acme.sh --list

# 详细
acme.sh --info -d example.com

步骤 8:确认 cron 任务存在(默认已创建)

crontab -l

扫描二维码推送至手机访问。

版权声明:本文由Yusoon - ZBlog发布,如需转载请注明出处。

本文链接:https://blog.bee1001.com/?id=40

分享给朋友:

“用acme.sh自动签发由阿里云托管域名的泛域名证书” 的相关文章

Linux安装SVN服务,并创建SVN项目

Linux安装SVN服务,并创建SVN项目

1. 安装yum install subversion 2. 创建项目svnadmin create /server/svnrepos/chegrain 3. 修改配置 1) svnserve.confvim /server/svnrepos/chegrain/conf/svnserve.con...

Linux上使用LNMP一键安装nginx

Linux上使用LNMP一键安装nginx

LNMP官网 安装LNMP稳定版nginxwget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz && tar zxf lnmp1.9.tar.gz && cd lnmp1.9 &&...

Linux 系统 /var/log/journal/ 垃圾日志清理

systemd-journald是一个改进型日志管理服务,可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息,还有syslog的日志。 systemd-journal日志服务仅仅把日志集中保存在单一结构的日志文件/run/log中,由于日志是经历过压缩和格式化...

介绍几个 Linux 命令

df -h 查看整个磁盘的空间使用情况 du -sh /* 查询某个路径下的数据大小 docker system prune -a 清理 docker 容器 find / -type f -size +100M -print0 | xargs -0 du -h | sort -nr 查...

Linux中vim中进行替换/批量替换

˂a name="一:在 Vim 中进行文本替换的操作是通过使用 :s(substitute)命令来实现的。这里是一些基本的替换命令" class="reference-link" href="#"˃一:在 Vim 中进行文本替换的操作是通过使用 :s(substitute)命令来实现的。这里是一些...

Linux安装safe-rm防止误删文件或目录

在Linux系统中安装safe-rm工具可以有效地防止误删除重要文件或目录。以下是安装safe-rm的步骤: 1、下载safe-rm:使用wget命令从官方网站下载safe-rm的压缩包。例如,下载0.12版本的命令为: wget https://launchpad.net/safe-rm/tr...