Skip to content
圆子BLOG
Menu
  • 首页
  • 文章
  • 关于我
Menu

11/5 为群辉申请SSL证书

Posted on 2025年11月6日2026年1月8日 by sisuer

流程总结、留档


教程:为群晖 (DSM 7+) 申请并自动续订 Cloudflare 泛域名 SSL 证书(特殊网络环境版)

本教程的目标是为你的域名 1129.online 申请 *.1129.online 泛域名证书,将其部署到群晖,并设置一个能真正成功运行的自动续订任务。

阶段一:准备工作 (Cloudflare)

  1. 登录 Cloudflare 仪表板。
  2. 转到“我的个人资料” -> “API 令牌”。
  3. 点击“创建令牌”,然后选择“编辑区域 DNS”(”Edit zone DNS”)模板。
  4. 在“区域资源”下,选择“特定区域” -> 1129.online。
  5. 创建令牌,并立即复制生成的Token字符串。我们将其称为 [你的_CF_Token]。

阶段二:安装 acme.sh (绕过网络限制)

由于你的网络环境会拦截 curl 的直接下载,我们必须使用手动安装。

  1. 在你的 Mac 电脑上:
    • 访问 https://github.com/acmesh-official/acme.sh
    • 点击 “Code” -> “Download ZIP”,将其下载到你的“下载”文件夹。
    • 不要解压。
  2. 登录你的群晖 DSM:
    • 打开 File Station,在 Downloads(或任何)共享文件夹中,上传你刚下载的 acme.sh-master.zip 文件。
  3. 通过 SSH 登录群晖:
    • ssh lionel@[你的群晖IP]
    • sudo -i (输入密码 [你的密码] 切换到 root 用户)
  4. 解压并安装:Bash# 1. 进入你上传文件的目录 cd /volume1/Downloads # 2. 使用 Python 解压 (因为 DSM 默认没有 unzip) python3 -m zipfile -e acme.sh-master.zip . # 3. 进入解压后的文件夹 cd acme.sh-master # 4. 运行安装脚本,并加入 --insecure 来绕过你网络中的 SSL 拦截 ./acme.sh --install -m [你的邮箱] --force --insecure
    • 脚本会成功安装到 /root/.acme.sh/。

阶段三:【关键】“一次性修复与部署”命令

这是我们所有调试工作的结晶。这一步将申请证书、正确部署、并生成一个完整的配置文件,以便将来自动续订。

  1. 在同一个 SSH 终端 (root@DS920) 中,完整地复制并粘贴以下所有 export 命令:Bash# 1. 针对你的网络 SSL 拦截 (解决 Let's Encrypt 和 Cloudflare 的 error 60) export ACME_INSECURE='1' # 2. 你的 Cloudflare API 令牌 export CF_Token="[你的_CF_Token]" # 3. 你的群晖管理员账户信息 export SYNO_Username='lionel' export SYNO_Password='[你的密码]' # 4. 你的群晖登录端口和协议 (必须是 5001 和 https) export SYNO_Port='5001' export SYNO_Scheme='https' export SYNO_Use_SSL='1' # 5. 你的 2FA 设置 (用于自动续订) export SYNO_DEVICE_NAME="acme_auto_deploy" # 6. 【关键】针对你群晖自身证书的 SSL 拦截 (解决部署时的 error 60) export SYNO_INSECURE='1'
  2. 在同一个 SSH 会话中,运行这个最终的“申请+部署+保存”命令:Bash/root/.acme.sh/acme.sh --issue --dns dns_cf \ -d 1129.online \ -d *.1129.online \ --server letsencrypt \ --keylength ec-256 \ --deploy-hook synology_dsm \ --force
  3. 【重要】 运行后,终端会提示你:Enter OTP code for user ‘lionel’:此时,输入你手机上的 6 位 2FA 验证码并按回车。
  4. 等待脚本运行完毕。它会成功获取证书并将其部署到 DSM。

阶段四:清理与配置 (安全与收尾)

  1. 【安全】 我们之前为了解决 error 60,可能创建了一个全局 curl 配置文件。必须删除它。Bash# 运行此命令以删除安全隐患 rm /root/.curlrc (提示“No such file or directory”是正常的,说明它已不存在。)
  2. 【配置】 登录你的 DSM 网页界面。
    • 进入“控制面板” -> “安全性” -> “证书” 选项卡。
    • 点击顶部的“设置”按钮。
    • 在“默认证书”一行,从下拉菜单中选择你新部署的 1129.online (ECC)。
    • 确保下方列表中的所有服务(包括你的反向代理)也都切换到了 1129.online 证书。
    • 点击“确定”。

阶段五:创建最终的“自动化计划任务”

现在你的配置已经 100% 正确,我们可以放心地创建自动续订任务了。

  1. 在 DSM 网页界面,进入“控制面板” -> “计划任务”。
  2. 点击“新增” -> “计划的任务” -> “用户定义的脚本”。
  3. 常规 选项卡:
    • 任务名称: SSL 自动续订与部署
    • 用户账号: root
    • 已启动: 确保已勾选。
  4. 计划 选项卡:
    • 选择“每天”,时间设为 03:00。
  5. 任务设置 选项卡:
    • 在“用户定义的脚本”框中,完整粘贴以下脚本:
    Bash# 1. 针对你的网络 SSL 拦截 export ACME_INSECURE='1' # 2. 你的 Cloudflare API 令牌 export CF_Token="[你的_CF_Token]" # 3. 运行正确的续订检查命令 /root/.acme.sh/acme.sh --cron --home /root/.acme.sh
  6. 点击“确定”保存。

阶段六:最终验证

  1. 在“计划任务”窗口,选中你刚创建的 SSL 自动续订与部署 任务。
  2. 点击“运行”按钮。
  3. 等待几秒钟,再次选中它,点击“查看结果”按钮。
  4. 验证输出:你现在应该会看到我们最终的成功日志:[Thu Nov 6 16:35:18 CST 2025] Renewing using Le_API=https://acme-v02.api.letsencrypt.org/directory[Thu Nov 6 16:35:18 CST 2025] Skipping. Next renewal time is: 2026-01-04T08:34:46Z

看到这个日志,就代表你已大功告成。你的证书将实现全自动续订。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

保持乐观,坚持热爱

About This Blog

记录一些乱七八糟的想法和生活点滴,为回忆录积累素材......
2025 年 11 月
一 二 三 四 五 六 日
 12
3456789
10111213141516
17181920212223
24252627282930
« 10 月   12 月 »
© 2026 圆子BLOG | Powered by Superbs Personal Blog theme