【群晖nas】保姆级教程7.2.x开启二步验证用docker安装acme.sh,实现自动更新部署泛域名SSL证书

本文摘要2025群辉nas开启二步验证dsm7.2.x使用docker安装acme.sh,实现自动更新部署泛域名SSL证书。一、获取dns服务商api授权(dnspod、aliyun、cloudflare等){tabs-pane label="dnspod.cn"} acme.sh 自动解析并申请证书官方文档 按照教程取得获取腾讯云SecretId和SecretKeyacme.sh中腾讯云参数 Tence...

2025群辉nas开启二步验证dsm7.2.x使用docker安装acme.sh,实现自动更新部署泛域名SSL证书。

一、获取dns服务商api授权(dnspod、aliyun、cloudflare等)

二、群晖创建acme.sh容器并配置环境

2.1 docker设置加速代理

2025-03-08_064934.webp

https://docker.1ms.run

2.1 安装neilpang/acme.sh

加速代理,只能在ssh中使用,可视化界面搜索没用。
打开ssh,输入安装命令,需要root权限。

sudo docker pull neilpang/acme.sh

等待安装完后,在群辉Container Manager-映像中找到neilpang/acme.sh
双击运行
如图设置。

2.2 配置环境参数

容器名称,必须设置acme-sh(中间是英文-)
snipaste20250308_065658.webp
下一步,存储空间设置中点击添加文件夹,/docker/acme.sh-->/acme.sh
snipaste20250308_065711.webp
添加环境变量。

Tencent_SecretId  : 填入第一步获取的 AccessKey
Tencent_SecretKey : 填入第一步获取的 AccessKey Secret
SYNO_Username     : 登录群晖的用户名
SYNO_Password     : 登录群晖的密码
SYNO_Certificate  : 空字符串("")为替换默认证书
SYNO_Create       : nas局域网登陆IP
SYNO_Port         : 填入群晖内网的端口号(我用的默认端口5000未修改)

snipaste20250308_070303.webp
snipaste20250308_070345.webp
更改网络为host,添加命令daemon
勾选向导完成后运行此容器
点击下一步,完成。
此时只是容器搭建好了,但是证书还没有获取,也没有部署,必须要一个脚本文件来启动它。

三、创建脚本文件cert.sh

打开群辉filestation,在/docker/acme.sh目录下创建一个cert.sh文件,使用群辉文本编辑器打开,粘贴如下代码。
按照提示修改参数,我这里使用腾讯云,证书用的是letsencrypt

此处内容已隐藏,请评论后刷新页面查看

保存。

右键这个文件,然后属性,复制好路径位置,一会要用。
snipaste20250308_084645.webp
路径/volume1/docker/acme.sh/cert.sh
完成以上步骤之后,就可以来获取证书了。

四、ssh获取证书并一键部署到群辉

首先确认群晖的ssh端口是打开的,然后运行终端,连接群晖。并提升账号权限为root

sudo -i
bash /volume1/docker/acme.sh/cert.sh

如果你没开启两步验证,到这里就结束部署成功。

五、解决群辉登陆设置两步验证(没开启两步的不用看)

前提:开启了两步验证也需要执行到第四步,来获取配置文件account.conf
(提前生成这个文件,配置参数,说是可以,没测试)
(提前在docker环境中配置这个参数应该也可以,但是你后期不好修改,需要重启容器)

5.1获取二步验证did参数

1.打开群辉dsm窗口,F12打开开发者模式,找到应用(application)-Cookie-子选项网址,右边找到did值。
2.acme.sh默认使用http登陆,建议你使用http的dsm来获取did值。(我是http提取的测试没问题,不清楚https的放到这里里能不能成功)
2025-03-08_092057.webp

5.2配置did参数到account.conf

群辉filestation打开目录/docker/acme.sh/找到account.conf
以文本编辑器形式,打开account.conf

此处内容已经被作者隐藏,请输入验证码查看内容
验证码:

5.3重新执行ssh命令

按照第四部,重新执行ssh命令。

sudo -i
bash /volume1/docker/acme.sh/cert.sh

现在就能成功了。
snipaste20250308_090500.webp
PS:或许可以为acme.sh专门新建一个子账号不开启二步,未测试,仅提供思路。

六、利用计划任务定期自动更新

打开群晖控制面板-任务计划-新增,账号选root
2025-03-07_220558.webp
重复:可以2个月或者3个月以内都行,自己设置。
snipaste20250307_220730.webp
然后任务设置-运行命令,粘贴如下代码,视情况做修改:

bash /volume1/docker/acme.sh/cert.sh >> /volume1/docker/acme.sh/log.txt 2>&1

snipaste20250308_094048.webp
完工!

七、 后记

自己折腾了一晚上,有几个坑需要注意,部分是别人踩的坑记录。
1.设置了两步验证,需要设置SYNO_Device_ID,有的教程上写的是SYNI_DID,不行。
v2-0734b12df0bcd8c3c373d5dc73477b1b_r.webp
2.群晖docker部署,5月开始的续签出现问题,报找不到证书。根据本文作者提示,在此感谢,问题出在ACME版本,部署时候为3.0.2,AUTOUPGRADE设置为1,导致自动更新了版本为3.0.8,问题出现。不想开启两部验证,于是重新部署了一遍,AUTOUPGRADE设置为0,问题解决。
3.群辉不要配置强制http跳转https。(如果能解决,欢迎评论告诉我)
4.dsm老版本,环境配置使用rsa证书,然后关闭默认dsm的权限给附上ip限制,单独的管理员账户安全性就有了。(ACME也要退回3.0.7之前的版本,后面的版本强制开启2FA的)

觉得内容不错?我要

打赏杯咖啡或蜜雪冰城吧
微信扫一扫
微信赞赏码
支付宝扫一扫
支付宝赞赏码
评论 共11条
22
22

11

sfd
sfd

一切真知都是从直接经验发源的。

tingfeng
tingfeng

在革命实践中检验和发展真理,是马克思主义的基本原则。

jjj
jjj

不同质的矛盾,只有用不同质的方法才能解决。快来买快来快来了

jack
jack

希望能有用

qqq
qqq

未来是属于那些相信自己梦想的人。

yy
yy

同一性与斗争性的关系,就是矛盾双方既相互依存又相互1排斥的关系。

wwdc14yh
wwdc14yh

同一性与斗争性的关系,就是矛盾双方既相互依存又相互排斥的关系。

123
123

不要因为没有阳光,就放弃走进春天。

23424
23424

你若盛开,清风自来;心若浮沉,浅笑安然。

刺

只要路是对的,就不怕路远。