找回密码
 加入我们
搜索
      
查看: 9444|回复: 51

[网络] 阿里域名证书(通过群晖)自动续签 acme.sh【教程】【群晖折腾记】

[复制链接]
发表于 2024-7-12 14:56 | 显示全部楼层 |阅读模式
本帖最后由 高子 于 2024-10-27 09:36 编辑

参考 张大妈 上 乖缪 大佬 的 教程,张大妈链接不让放,贴个其它的网址:https://t.cj.sina.com.cn/article ... p=no&isfromsina=no&

感谢前人大佬们的贡献,献丑,再造个轮子,以作备用,至此,群晖上暂时用到的东西,都已经折腾完了。

0、File Station里docker目录下新建“acme.sh”文件夹
00.png

1、Container Manager注册表搜索acme,第一个星最多的,点 下载 应用
01.png
下载好的映像上右击运行,名字改成acme
02.png
存储空间设置 选择 第0步 新增的文件夹位置 /docker/acme.sh  旁边填:  /acme.sh
03.png
网络选host,执行命令填:daemon 下一步,运行即可。
03-2.png

2、将以下代码保存为txt文档,改为acme.sh 文件(注意电脑上勾选“显示文件扩展名”,将".txt"改为".sh"),上传到 /docker/acme.sh 目录下
  1. #你的域名
  2. DOMAIN='你的域名'
  3. #证书供应商
  4. CERT_SERVER='letsencrypt'
  5. #DNS供应商 可选 dns_dp(腾讯云) dns_ali(阿里云)  dns_cf  其他可查https://github.com/acmesh-official/acme.sh/wiki/dnsapi
  6. DNS="dns_ali"
  7. #群晖账号密码
  8. SYNO_Username='群晖账号'
  9. SYNO_Password='群晖密码'
  10. #如果开启了双重验证请在浏览器登录时选中保存此设备,然后从COOKIE中获取did cookie
  11. SYNO_Device_Name="CertRenewal"
  12. SYNO_DID='通过浏览器获取的did数值'
  13. #以下群晖配置非必要不要更改
  14. SYNO_Hostname="localhost" # Specify if not using on localhost
  15. SYNO_Scheme="http"
  16. SYNO_Port="5000"
  17. #要添加的证书的名字,空字符串("")的话就是替代默认证书,一般建议使用空字符串,除非你有多个证书
  18. SYNO_Certificate=''

  19. #以下三选一
  20. #DNSPOD.CN 腾讯云
  21. DP_Id=''
  22. DP_Key=''
  23. #阿里云
  24. Ali_Key='阿里云的key'
  25. Ali_Secret='阿里云的密钥'
  26. #CF
  27. CF_Key=''
  28. CF_Email=''


  29. case $DNS in
  30.     "dns_dp")
  31.     a="DP_Id=${DP_Id}"&&b="DP_Key=${DP_Key}"
  32.     ;;
  33.     "dns_ali")
  34.     a="Ali_Key=${Ali_Key}"&&b="Ali_Secret=${Ali_Secret}"
  35.     ;;
  36.     "dns_cf")
  37.     a="CF_Key=${CF_Key}"&&b="CF_Email=${CF_Email}"
  38.     ;;
  39. esac
  40. SYNOUsername="SYNO_Username=${SYNO_Username}"
  41. SYNOPassword="SYNO_Password=${SYNO_Password}"
  42. SYNODeviceID="SYNO_Device_ID=${SYNO_DID}"
  43. SYNOHostname="SYNO_Hostname=${SYNO_Hostname}"
  44. SYNOScheme="SYNO_Scheme=${SYNO_Scheme}"
  45. SYNOPort="SYNO_Port=${SYNO_Port}"
  46. SYNOCertificate="SYNO_Certificate=${SYNO_Certificate}"
  47. SYNODID="SYNO_DID=${SYNO_DID}"
  48. SYNODeviceName="SYNO_Device_Name=${SYNO_Device_Name}"



  49. 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
  50. 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
复制代码


在群晖上用文本编辑器打开
04.png
对应的内容修改为你的信息:你的域名、DNS供应商、群晖账号、密码、(did值、)阿里云的key、密钥。其它不需要动。
05.png
注意,红框这里跟你第1步 新建的 container 名称对应,蓝框这里的位置跟你第0步 新建的acme.sh文件夹绝对位置对应
屏幕截图 2024-07-14 160946.png


如群晖开启了双重验证,需要先获取did值,保持DSM网页未登录状态,登录时勾选“在此设备上不再询问”
06.png

键盘上按F12,在图中对应位置,获得did值,复制,填入上面acme.sh文件中对应位置“SYNO_DID='通过浏览器获取的did数值'”,保存即可。
07.png


3、在控制面板 任务计划 新增 计划的任务 用户定义的脚本
08.png
名称自定义,用户账号务必选 root
09.png
用户定义的脚本填入以下代码
  1. bash /volume1/docker/acme.sh/acme.sh >> /volume1/docker/acme.sh/log.txt 2>&1
复制代码
10.png
注意,这里的volume1要根据自己的实际情况填写,填写acme.sh文件夹的绝对位置。感谢 20L 提醒。
屏幕截图 2024-07-14 150606.png

计划这里选择 每月重复
11.png

运行一下,查看运行结果,不报错即可
12.png

此时可以看到 /docker/acme.sh 目录下多了一个 log.txt 的文档,查看一下,末尾是“Success”即代表成功
13.png


再到 控制面板 安全性 证书 这里 将 刚生成的ECC 这个证书 设为默认
14.png


完了之后,再用浏览器打开域名,可以看到证书信息已经更新了。
15.png

对比下原始的证书信息
捕获.PNG

更多折腾内容,请看这里https://www.chiphell.com/search. ... E%E8%AE%B0%E3%80%91

评分

参与人数 1邪恶指数 +40 收起 理由
阿财 + 40 非常赞同

查看全部评分

发表于 2024-7-12 14:58 | 显示全部楼层
不用阿里的证书,用acme脚本来自动更新Let’s Encrypt的证书。
发表于 2024-7-12 15:16 | 显示全部楼层
mark,同样的问题
发表于 2024-7-12 15:26 | 显示全部楼层
docker里部署一个acme.sh脚本。网上有别人写好的脚本,可以定期自动续签,然后自动部署到群晖,我用了半年暂时没遇到问题。
发表于 2024-7-12 15:26 | 显示全部楼层
你不要怪阿里云,目前国内外所有证书机构免费证书都只有三个月,当然可以付费买,便宜的比如西部数码才几十块一年
发表于 2024-7-12 16:39 | 显示全部楼层
freessl.cn里直接acme。无限自动续签
发表于 2024-7-12 16:42 | 显示全部楼层
我是在路由器上装了一个lucky
端口转发,反代,数字签名都带了,还蛮方便的
https://lucky666.cn/
发表于 2024-7-13 09:43 来自手机 | 显示全部楼层
docker个lucky啊,傻瓜式操作
发表于 2024-7-13 10:00 | 显示全部楼层
nn1122 发表于 2024-7-12 15:26
你不要怪阿里云,目前国内外所有证书机构免费证书都只有三个月,当然可以付费买,便宜的比如西部数码才几十 ...

百度现在还有一年免费的,但是还能提供多久那就不知道了。
发表于 2024-7-13 11:09 | 显示全部楼层
SeAstW 发表于 2024-7-13 10:00
百度现在还有一年免费的,但是还能提供多久那就不知道了。

你的信息已经滞后了,前几天百度刚改为3个月
发表于 2024-7-13 14:05 | 显示全部楼层
nn1122 发表于 2024-7-13 11:09
你的信息已经滞后了,前几天百度刚改为3个月

没吧,我就是前几天才搞的。刚去看了一下,trustasia的dv证书还能申请一年免费的啊
发表于 2024-7-13 15:42 来自手机 | 显示全部楼层
docker装nginx proxy manager,配置证书自动续签
发表于 2024-7-13 16:07 | 显示全部楼层
ACME自带群晖deploy hook,安逸的很,用什么阿里云
发表于 2024-7-13 18:52 | 显示全部楼层
SeAstW 发表于 2024-7-13 14:05
没吧,我就是前几天才搞的。刚去看了一下,trustasia的dv证书还能申请一年免费的啊 ...

看了下公告,是8月1日,不好意思,但马上也就半月的时间了
https://cloud.baidu.com/doc/CAS/s/7ly6pin7e
 楼主| 发表于 2024-7-14 11:00 | 显示全部楼层

已更新教程,供参考。
发表于 2024-7-14 12:17 | 显示全部楼层
群晖页面登陆不支持https吗?
 楼主| 发表于 2024-7-14 12:27 | 显示全部楼层
alsa 发表于 2024-7-14 12:17
群晖页面登陆不支持https吗?

支持的   

上面的设置,不影响群晖用域名https方式访问
发表于 2024-7-14 13:02 | 显示全部楼层
高子
支持的   

上面的设置,不影响群晖用域名https方式访问

我是说acme.sh里面配置https登录好像不行。
 楼主| 发表于 2024-7-14 13:04 | 显示全部楼层
alsa 发表于 2024-7-14 13:02
我是说acme.sh里面配置https登录好像不行。

这里面,我没动,用网页登录,https没问题
发表于 2024-7-14 15:01 | 显示全部楼层
感谢楼主分享。
提醒一下,使用多个硬盘的,注意路径不是volume1
 楼主| 发表于 2024-7-14 15:16 | 显示全部楼层
lilho_e 发表于 2024-7-14 15:01
感谢楼主分享。
提醒一下,使用多个硬盘的,注意路径不是volume1

感谢提醒,已经更新
发表于 2024-7-15 10:59 | 显示全部楼层
可别费事了,直接装个Lucky,直接自动续期
 楼主| 发表于 2024-7-15 12:12 来自手机 | 显示全部楼层
RyuHwang 发表于 2024-7-15 10:59
可别费事了,直接装个Lucky,直接自动续期

看了下,图形化界面,确实对小白用户更友好,它的证书续期的模块用的应该也是acme的,相当于是多个功能的集成。我其它的项目在软路由上搞好了,就不折腾了。感谢推荐。
发表于 2024-7-15 12:19 | 显示全部楼层
曾经也是用楼主的方法搞的证书,自从有了LUCKY后。。。
发表于 2024-7-15 16:26 | 显示全部楼层
ericone 发表于 2024-7-15 12:19
曾经也是用楼主的方法搞的证书,自从有了LUCKY后。。。

同意,LUCKY确实傻瓜化,而且反代,端口映射等一众功能都全了
发表于 2024-7-15 16:43 | 显示全部楼层
直接LUCKY全部搞定,少走很多很多弯路
 楼主| 发表于 2024-7-15 16:55 | 显示全部楼层
apple524 发表于 2024-7-15 16:26
同意,LUCKY确实傻瓜化,而且反代,端口映射等一众功能都全了

请教一下:设置反代是不是要求80端口没被封?
发表于 2024-7-15 17:01 | 显示全部楼层
本帖最后由 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:09 | 显示全部楼层
本帖最后由 高子 于 2024-7-15 17:14 编辑
apple524 发表于 2024-7-15 17:01
不需要,目前80 443 家宽都是被封的
反代的意思就是 我对外开一个端口 譬如6666端口
家里的其他设备可以 ...


对,我也觉得这个部署的路由器上更合适一点。看了下iStoteOS商店里有这个服务APP
发表于 2024-7-15 17:15 | 显示全部楼层
在VPS上用acme申请泛域名证书,每日定时同步一次
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-1-9 22:15 , Processed in 0.020248 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表