
介绍
此脚本部署群晖申请证书以及自动续签证书,
脚本使用群晖的计划任务运行,真正做到无人值守,
再也不用担心证书过期的问题了。
脚本安装设置
-
首先下载脚本压缩包,解压到任意NAS目录。
-
打开解压后的目录。
-
修改 Config 填写你的域名及DNS信息。
-
删掉不需要的多余的DNS设置信息,
-
只保留你需要的那一个。
-
至此脚本设置部分已完成。
本地下载(苏黎世)群晖系统设置
打开控制面板-计划任务,
新增计划的任务-用户自定义的脚本
-
任务名称随意-用户账号 ROOT
-
计划日期设置每月两次即可,不需要太频繁。
任务设置-用户运行的命令里输入:
/xxxxxx/cert-up.sh update
注:xxxxxx 为你的压缩包解压后的目录。
然后点确定输入NAS密码保存即可。
证书申请测试
前面步骤完成后,返回计划任务。
点击上面右上角图标设置。
设置一个保存输出结果的目录。
选择你刚刚创建的任务,右键运行。
然后去保存输出结果的目录查看日志。
查看日志输出,检查脚本是否已成功运行。
------ 开始更新证书 ------
开始备份证书
证书备份完成
开始安装Acme.sh
网络最新版本: 3.1.0
本地已安装版本: 3.1.0
本地版本:3.1.0 和 网络版本:3.1.0 对比相同,跳过下载步骤。
开始申请证书
开始使用 acme.sh 更新默认证书
[Mon Mar 3 06:00:04 CET 2025] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Mon Mar 3 06:00:04 CET 2025] Multi domain='DNS:xxxxxxxxx.xxx,DNS:*.xxxxxxxxx.xxx'
[Mon Mar 3 06:00:06 CET 2025] Getting webroot for domain='xxxxxxxxx.xxx'
[Mon Mar 3 06:00:06 CET 2025] Getting webroot for domain='*.xxxxxxxxx.xxx'
[Mon Mar 3 06:00:06 CET 2025] peifeng.li is already verified, skipping dns-01.
[Mon Mar 3 06:00:06 CET 2025] *.peifeng.li is already verified, skipping dns-01.
[Mon Mar 3 06:00:06 CET 2025] Verification finished, beginning signing.
[Mon Mar 3 06:00:06 CET 2025] Let's finalize the order.
[Mon Mar 3 06:00:06 CET 2025] Le_OrderFinalize='https://acme-v02.api.letsencrypt.org/acme/finalize/xxxxxxxxx.xxx'
[Mon Mar 3 06:00:09 CET 2025] Downloading cert.
[Mon Mar 3 06:00:09 CET 2025] Le_LinkCert='https://acme-v02.api.letsencrypt.org/acme/cert/xxxxxxxxx.xxx'
[Mon Mar 3 06:00:09 CET 2025] Cert success.
-----BEGIN CERTIFICATE-----
MIIDhDCCAwugAwIBAgISBFxGskiwlleKJX/0hGRG2UNTMAoGCCqGSM49BAMDMDIx
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF
NTAeFw0yNTAzMDMwNDAxMzdaFw0yNTA2MDEwNDAxMzZaMBUxEzARBgNVBAMTCnBl
aWZlbmcubGkwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATb7lMKllJW1h8ee4ly
xxxxxxxxx.xxxxxxxxxxxx.xxxxxxxxxxxx.xxxxxxxxxxxx.xxxxxxxxxxxx.xx
aWZlbmcubGmCCnBlaWZlbmcubGkwEwYDVR0gBAwwCjAIBgZngQwBAgEwggEGBgor
BgEEAdZ5AgQCBIH3BIH0APIAdwDPEVbu1S58r/OHW9lpLpvpGnFnSrAX7KwB0lt3
xxxxxxxxx.xxxxxxxxxxxx.xxxxxxxxxxxx.xxxxxxxxxxxx.xxxxxxxxxxxx.xx
AcJBS9YxMQIhAJVPXsbEfRulQnA8I7SQ8+ShWjZiHuo3BRrtFTQ/wvLRAHcAE0rf
GrWYQgl4DG/vTHqRpBa3I0nOWFdq367ap8Kr4CIAAAGVWmAxegAABAMASDBGAiEA
9JlDfZWI/3BxKh6It/Re7HRIJ6cZkNDLyIJh6Xz3MZUCIQCFNTBLLy7gNYholzNK
Aj2kwtAVcLpeQoDtTbZ4rsyJujAKBggqhkjOPQQDAwNnADBkAjAcUxBooAv4QnX8
Xhx64t+tFPd2ntjB1cHQoJQDGQ+sJxfHcpecY6aMRL2B+y0GsnwCMF6ZPQqrxK75
xxxxxxxxx.xxxxxxxxxxxx.xxxxxxxxxxxx.xxxxxxxxxxxx.xxx
-----END CERTIFICATE-----
[Mon Mar 3 06:00:09 CET 2025] Your cert is in: /volume6/System/ssl/acme.sh/xxxxxxxxx.xxx_ecc/xxxxxxxxx.xxx.cer
[Mon Mar 3 06:00:09 CET 2025] Your cert key is in: /volume6/System/ssl/acme.sh/xxxxxxxxx.xxx_ecc/xxxxxxxxx.xxx.key
[Mon Mar 3 06:00:09 CET 2025] The intermediate CA cert is in: /volume6/System/ssl/acme.sh/xxxxxxxxx.xxx_ecc/ca.cer
[Mon Mar 3 06:00:09 CET 2025] And the full-chain cert is in: /volume6/System/ssl/acme.sh/xxxxxxxxx.xxx_ecc/fullchain.cer
[Mon Mar 3 06:00:09 CET 2025] Installing cert to: /usr/syno/etc/certificate/_archive/zXvtpx/cert.pem
[Mon Mar 3 06:00:10 CET 2025] Installing key to: /usr/syno/etc/certificate/_archive/zXvtpx/privkey.pem
[Mon Mar 3 06:00:10 CET 2025] Installing full chain to: /usr/syno/etc/certificate/_archive/zXvtpx/fullchain.pem
证书申请完成
开始更新服务
复制证书到目标位置
主要版本 = 7, 系统默认使用 python2
Copy cert for KMIP
Copy cert for FTPS
Copy cert for Synology Storage Console Server
Copy cert for WebDAVServer
Copy cert for Replication Service
Copy cert for DSM Desktop Service
服务更新完成
开始重新加载网页服务
加载新证书...
主要版本 = 7
Sync W3 certificate info successfully
Generate nginx tmp config successfully
主要版本 = 7, 不需要重新加载 apache
网页服务重新加载完成
------ 更新证书完成 ------
至此证书已经申请并成功安装到群晖系统。
最后请打开控制面板-安全性-证书,
检查证书是否安装正确并查看到期日期是否正确。
证书保存位置及说明
此脚本默认申请的是泛域名 ECC 证书,
一个泛证书可用于全部二级域名。
证书保存在脚本目录下的acme.sh文件夹下,
以你的域名命名的文件夹里,
你可以复制导入到其它地方使用。
每次运行脚本会自动备份当前证书,
备份的证书在backup文件夹里,
每次备份以运行日期命名文件夹。
其它说明
此脚本替换的是群晖系统默认证书,
脚本并不适合替换其它非默认证书,
脚本设置后记得运行一次并查看日志,
如果有提示错误,按提示修复,
注意修复错误前不要多次运行!
多次运行申请可能会被风控暂时不能申请证书。
一般每月运行两次,申请证书不要频繁运行。
脚本默认拉取官方 ACME.SH 最新版本,
安装自动检测,低版本升级,相同则跳过下载。