阿里域名证书(通过群晖)自动续签 acme.sh【教程】【群晖折腾记】
本帖最后由 高子 于 2024-10-27 09:36 编辑参考 张大妈 上 乖缪 大佬 的 教程,张大妈链接不让放,贴个其它的网址:https://t.cj.sina.com.cn/article ... p=no&isfromsina=no&
感谢前人大佬们的贡献,献丑,再造个轮子,以作备用,至此,群晖上暂时用到的东西,都已经折腾完了。
0、File Station里docker目录下新建“acme.sh”文件夹
1、Container Manager注册表搜索acme,第一个星最多的,点 下载 应用
下载好的映像上右击运行,名字改成acme
存储空间设置 选择 第0步 新增的文件夹位置 /docker/acme.sh旁边填:/acme.sh
网络选host,执行命令填:daemon 下一步,运行即可。
2、将以下代码保存为txt文档,改为acme.sh 文件(注意电脑上勾选“显示文件扩展名”,将".txt"改为".sh"),上传到 /docker/acme.sh 目录下
#你的域名
DOMAIN='你的域名'
#证书供应商
CERT_SERVER='letsencrypt'
#DNS供应商 可选 dns_dp(腾讯云) dns_ali(阿里云)dns_cf其他可查https://github.com/acmesh-official/acme.sh/wiki/dnsapi
DNS="dns_ali"
#群晖账号密码
SYNO_Username='群晖账号'
SYNO_Password='群晖密码'
#如果开启了双重验证请在浏览器登录时选中保存此设备,然后从COOKIE中获取did cookie
SYNO_Device_Name="CertRenewal"
SYNO_DID='通过浏览器获取的did数值'
#以下群晖配置非必要不要更改
SYNO_Hostname="localhost" # Specify if not using on localhost
SYNO_Scheme="http"
SYNO_Port="5000"
#要添加的证书的名字,空字符串("")的话就是替代默认证书,一般建议使用空字符串,除非你有多个证书
SYNO_Certificate=''
#以下三选一
#DNSPOD.CN 腾讯云
DP_Id=''
DP_Key=''
#阿里云
Ali_Key='阿里云的key'
Ali_Secret='阿里云的密钥'
#CF
CF_Key=''
CF_Email=''
case $DNS in
"dns_dp")
a="DP_Id=${DP_Id}"&&b="DP_Key=${DP_Key}"
;;
"dns_ali")
a="Ali_Key=${Ali_Key}"&&b="Ali_Secret=${Ali_Secret}"
;;
"dns_cf")
a="CF_Key=${CF_Key}"&&b="CF_Email=${CF_Email}"
;;
esac
SYNOUsername="SYNO_Username=${SYNO_Username}"
SYNOPassword="SYNO_Password=${SYNO_Password}"
SYNODeviceID="SYNO_Device_ID=${SYNO_DID}"
SYNOHostname="SYNO_Hostname=${SYNO_Hostname}"
SYNOScheme="SYNO_Scheme=${SYNO_Scheme}"
SYNOPort="SYNO_Port=${SYNO_Port}"
SYNOCertificate="SYNO_Certificate=${SYNO_Certificate}"
SYNODID="SYNO_DID=${SYNO_DID}"
SYNODeviceName="SYNO_Device_Name=${SYNO_Device_Name}"
docker exec -e ${a} -e ${b} acme acme.sh --log --server "${CERT_SERVER}" --issue -d "${DOMAIN}" -d "*.${DOMAIN}" --dns "${DNS}" >> /volume1/docker/acme.sh/log.txt 2>&1
docker exec -e ${SYNOUsername} -e ${SYNOPassword} -e ${SYNODeviceID} -e ${SYNOHostname} -e ${SYNOScheme} -e ${SYNOPort} -e ${SYNOCertificate} -e ${SYNODID} -e ${SYNODeviceName} acme acme.sh --issue -d "${DOMAIN}" -d "*.${DOMAIN}" --dns "${DNS}" --deploy --deploy-hook synology_dsm>> /volume1/docker/acme.sh/log.txt 2>&1
在群晖上用文本编辑器打开
对应的内容修改为你的信息:你的域名、DNS供应商、群晖账号、密码、(did值、)阿里云的key、密钥。其它不需要动。
注意,红框这里跟你第1步 新建的 container 名称对应,蓝框这里的位置跟你第0步 新建的acme.sh文件夹绝对位置对应
如群晖开启了双重验证,需要先获取did值,保持DSM网页未登录状态,登录时勾选“在此设备上不再询问”
键盘上按F12,在图中对应位置,获得did值,复制,填入上面acme.sh文件中对应位置“SYNO_DID='通过浏览器获取的did数值'”,保存即可。
3、在控制面板 任务计划 新增 计划的任务 用户定义的脚本
名称自定义,用户账号务必选 root
用户定义的脚本填入以下代码
bash /volume1/docker/acme.sh/acme.sh >> /volume1/docker/acme.sh/log.txt 2>&1
注意,这里的volume1要根据自己的实际情况填写,填写acme.sh文件夹的绝对位置。感谢 20L 提醒。
计划这里选择 每月重复
运行一下,查看运行结果,不报错即可
此时可以看到 /docker/acme.sh 目录下多了一个 log.txt 的文档,查看一下,末尾是“Success”即代表成功
再到 控制面板 安全性 证书 这里 将 刚生成的ECC 这个证书 设为默认
完了之后,再用浏览器打开域名,可以看到证书信息已经更新了。
对比下原始的证书信息
更多折腾内容,请看这里https://www.chiphell.com/search. ... E%E8%AE%B0%E3%80%91
不用阿里的证书,用acme脚本来自动更新Let’s Encrypt的证书。 mark,同样的问题 docker里部署一个acme.sh脚本。网上有别人写好的脚本,可以定期自动续签,然后自动部署到群晖,我用了半年暂时没遇到问题。 你不要怪阿里云,目前国内外所有证书机构免费证书都只有三个月,当然可以付费买,便宜的比如西部数码才几十块一年 freessl.cn里直接acme。无限自动续签 我是在路由器上装了一个lucky
端口转发,反代,数字签名都带了,还蛮方便的
https://lucky666.cn/ docker个lucky啊,傻瓜式操作 nn1122 发表于 2024-7-12 15:26
你不要怪阿里云,目前国内外所有证书机构免费证书都只有三个月,当然可以付费买,便宜的比如西部数码才几十 ...
[困惑]百度现在还有一年免费的,但是还能提供多久那就不知道了。https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif SeAstW 发表于 2024-7-13 10:00
百度现在还有一年免费的,但是还能提供多久那就不知道了。
你的信息已经滞后了,前几天百度刚改为3个月[偷笑] nn1122 发表于 2024-7-13 11:09
你的信息已经滞后了,前几天百度刚改为3个月
[震惊]没吧,我就是前几天才搞的。刚去看了一下,trustasia的dv证书还能申请一年免费的啊https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif docker装nginx proxy manager,配置证书自动续签 ACME自带群晖deploy hook,安逸的很,用什么阿里云 SeAstW 发表于 2024-7-13 14:05
没吧,我就是前几天才搞的。刚去看了一下,trustasia的dv证书还能申请一年免费的啊 ...
看了下公告,是8月1日,不好意思,但马上也就半月的时间了
https://cloud.baidu.com/doc/CAS/s/7ly6pin7e 禁止梭哈 发表于 2024-7-12 15:16
mark,同样的问题
已更新教程,供参考。 群晖页面登陆不支持https吗? alsa 发表于 2024-7-14 12:17
群晖页面登陆不支持https吗?
支持的
上面的设置,不影响群晖用域名https方式访问 高子
支持的
上面的设置,不影响群晖用域名https方式访问
我是说acme.sh里面配置https登录好像不行。 alsa 发表于 2024-7-14 13:02
我是说acme.sh里面配置https登录好像不行。
这里面,我没动,用网页登录,https没问题 感谢楼主分享。
提醒一下,使用多个硬盘的,注意路径不是volume1 lilho_e 发表于 2024-7-14 15:01
感谢楼主分享。
提醒一下,使用多个硬盘的,注意路径不是volume1
感谢提醒,已经更新 可别费事了,直接装个Lucky,直接自动续期[偷笑] RyuHwang 发表于 2024-7-15 10:59
可别费事了,直接装个Lucky,直接自动续期
看了下,图形化界面,确实对小白用户更友好,它的证书续期的模块用的应该也是acme的,相当于是多个功能的集成。我其它的项目在软路由上搞好了,就不折腾了。感谢推荐。 曾经也是用楼主的方法搞的证书,自从有了LUCKY后。。。 ericone 发表于 2024-7-15 12:19
曾经也是用楼主的方法搞的证书,自从有了LUCKY后。。。
同意,LUCKY确实傻瓜化,而且反代,端口映射等一众功能都全了 直接LUCKY全部搞定,少走很多很多弯路 apple524 发表于 2024-7-15 16:26
同意,LUCKY确实傻瓜化,而且反代,端口映射等一众功能都全了
请教一下:设置反代是不是要求80端口没被封? 本帖最后由 apple524 于 2024-7-15 17:09 编辑
高子 发表于 2024-7-15 16:55
请教一下:设置反代是不是要求80端口没被封?
不需要,目前80 443 家宽都是被封的
反代的意思就是 我对外开一个端口 譬如6666端口
家里的其他设备可以用
nas.abc.com:666
photo.abc.com:6666
.....
这样来实现二级子域名的访问
再加上lucky可以直签证书,所以部署在路由器上反代,证书,还有ddns一个程序搞定了,实在不错。
当然如果你没公网IP,还有实现内网穿透等服务 本帖最后由 高子 于 2024-7-15 17:14 编辑
apple524 发表于 2024-7-15 17:01
不需要,目前80 443 家宽都是被封的
反代的意思就是 我对外开一个端口 譬如6666端口
家里的其他设备可以 ...
对,我也觉得这个部署的路由器上更合适一点。看了下iStoteOS商店里有这个服务APP 在VPS上用acme申请泛域名证书,每日定时同步一次[偷笑]
页:
[1]
2