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

火山引擎配置使用acme

火山引擎配置使用acme

基于 acme.sh 与火山引擎 API 自动化签发 SSL 通配符证书

核心痛点

acme.sh 官方原生暂未内置火山引擎(VolcEngine)的 DNS 供应商插件。若要通过 DNS 验证(DNS-01挑战)申请泛域名/通配符证书,我们需要引入第三方的 DNS API 扩展脚本。

本文将基于开源项目 mitkimi/acmesh_volcengine_api,完整演示从安装、配置到自动化部署的全流程。

环境准备与 acme.sh 安装

首先安装 acme.sh。建议绑定您的常用邮箱,以便在证书即将过期且自动续期失败时收到 Let's Encrypt 的邮件提醒。

Bash

# 方案 A:指定邮箱安装(推荐)
curl https://get.acme.sh | sh -s email=your_email@example.com# 方案 B:匿名安装
curl https://get.acme.sh | sh

安装完成后,使环境变量生效并验证版本:

source ~/.bashrc
acme.sh --version

配置火山引擎 API 密钥与插件

3.1 获取 API 凭证

登录火山引擎控制台,前往 访问控制 -> API访问密钥 -> 密钥列表 -> 新建密钥,获取 AccessKey IDSecret AccessKey

3.2 注入环境变量

直接在当前 Shell 终端中执行以下命令(无需写入 .bashrc)。

安全提示acme.sh 在首次签发成功后,会将这两个密钥自动加密持久化至 ~/.acme.sh/account.conf 中。未来 crontab 定时任务自动续期时会自动调用该配置,因此无需在全局配置文件中常驻明文密钥。

export VOLCENGINE_ACCESS_KEY_ID="您的AccessKeyID"
export VOLCENGINE_SECRET_ACCESS_KEY="您的SecretAccessKey"

3.3 下载第三方火山引擎 DNS 插件

下载由作者 mitkimi 编写的外部 DNS 脚本,并放置到 acme.sh 的插件目录中:

Bash

# 下载原始脚本(注意:必须使用 raw 域名链接)
curl -sSfL https://raw.githubusercontent.com/mitkimi/acmesh_volcengine_api/main/dns_volcengine.sh \> ~/.acme.sh/dnsapi/dns_volcengine.sh# 赋予可执行权限
chmod +x ~/.acme.sh/dnsapi/dns_volcengine.sh

申请 SSL 证书

执行以下命令开始申请证书。此处以 liangzhantu.fun 为例,同时申请主域名与泛域名。

Bash

# 首次申请证书
acme.sh --issue --dns dns_volcengine -d yourdomain.com -d '*.yourdomain.com'# 如果需要强制重新签发或调试,可追加 --force 和 --debug 参数
acme.sh --issue --dns dns_volcengine -d yourdomain.com -d '*.yourdomain.com' --force --debug

提取证书与自动化运维(以 Nginx 容器为例)

切勿直接将 Nginx 的配置文件指向 ~/.acme.sh/ 目录下的原始文件,该目录结构内部可能会发生变动。

正确的做法是使用 --install-cert 命令将证书复制到指定的生产目录,并通过 --reloadcmd 设定自动化重载钩子。

Bash

# 创建证书存储目录(此处以 /etc/nginx/ssl/ 为例,可根据实际情况修改)
mkdir -p /etc/nginx/ssl/yourdomain.com/# 提取证书并配置容器重载
acme.sh --install-cert -d yourdomain.com --ecc \--key-file       /etc/nginx/ssl/yourdomain.com/yourdomain.com.key \--fullchain-file /etc/nginx/ssl/yourdomain.com/yourdomain.com.pem \--reloadcmd      "docker exec <nginx-name> nginx -s reload"

关于未来的自动化续期

acme.sh 在安装时已自动向系统的 crontab 注入了定时任务。

你可以通过以下命令查看:

crontab -l

输出中会包含一条类似以下的内容:

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

自动化续期的运行逻辑:

  1. 每晚定时任务触发。

  2. acme.sh 检查证书,若证书有效期少于 30 天,则触发续期。

  3. acme.sh 自动读取 ~/.acme.sh/account.conf 中保存的火山引擎密钥,通过 API 自动到域名解析中添加 TXT 记录。

  4. 验证通过后,新证书生成。

  5. 自动执行 --reloadcmd 绑定的命令(例如 docker exec ... nginx -s reload),整个过程无感、零人工干预。

http://www.jsqmd.com/news/976973/

相关文章:

  • 基于NXP KW36/KW38的混合网络固件升级方案:蓝牙OTAP与LIN/CAN总线分发
  • 毕业写作破局:okbiye 毕业论文 AI 工具拆解全实操逻辑
  • AzurLaneAutoScript深度解析:从图像识别到智能调度的游戏自动化革命
  • i.MX RT外部RAM调试:.mac文件初始化FlexSPI与HyperRAM实战
  • 终极指南:如何用League Director打造专业级《英雄联盟》回放视频
  • AI落地五大突破点:数据合成、模型编排、人机闭环、韧性测试与知识缝合
  • EdgeRemover:Windows系统上彻底卸载Microsoft Edge的终极解决方案
  • 5分钟掌握Windows平台最强C/C++编译器MinGW-w64完整指南
  • 终极指南:如何安全使用ModTheSpire为《杀戮尖塔》安装和管理模组
  • 平湖海宁嘉善黄金回收实测:当湖街道、海洲街道、罗星街道九家门店谁在认真做生意? - 久盈
  • LM75、DS18B20、DHT11怎么选?一个真实项目后的温度传感器选型避坑指南
  • 大麦抢票脚本终极指南:3步搞定演唱会门票
  • 上新:推荐一下优质的不锈钢螺丝厂商 - 品牌推广大师
  • okbiye AI PPT:化解毕业答辩幻灯片制作压力,一站式智能生成学术汇报文稿
  • 跟着 MDN 学JavaScript day_11:数组技能测试
  • 3步轻松解锁:用caj2pdf将知网CAJ文献转为可搜索PDF
  • 汽车以太网PHY芯片TJA1101B硬件设计与链路启动实战指南
  • 28岁从零转行网络安全,亲身总结八大避坑法则,帮新手省去三年摸索期
  • 寄大件上门取货哪家最便宜?试试“寄半折”比价 - 快递物流资讯
  • ThinkPad双风扇控制终极指南:TPFanControl2完全配置手册
  • 小白程序员也能掌握大模型落地秘籍:收藏这份17周成长路线图!
  • 汽车ADAS毫米波雷达电源设计:基于NXP PMIC的AWR2243供电方案详解
  • AI助力应用产出增多,但使用未增,营销成人工智能领域胜负关键!
  • 我为什么决定系统学 AI Agent
  • 告别Hello World:用ObjectARX Wizards模板快速给你的AutoCAD 2021插件加个MFC界面
  • 长沙买二手车去哪里?卖场规模、车源品质、价格对比、售后保障多角度对比 - 麦克杰
  • 2026九大AI毕业论文工具横向实测:解锁毕业写作无痛方案
  • FlexIO模块:用软件定义硬件,解决MCU外设资源不足的终极方案
  • 终极指南:快速掌握Buck-Boost电感计算器的完整使用方法
  • RAGent:基于LangGraph的三代理RAG架构实现PDF精准问答