首页 >PC >正文

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

letsencrypt的SSL证书只有三个月有效期,相信大家的nas也都使用了SSL证书,来开启HTTPS。三个月的有效期每次手动申请手动上传很麻烦,因此不断百度发现使用acme.sh 配合群晖的任务计划能够自动更新证书。可能张大妈已经有了同类型的,但我认为我的那个垃圾脚本可能要方便一点(只是可能)

开了双重验证登录的也可以使用

过程

1、群晖打开container manager 搜索acme下载第一个|或者使用Xshell等工具连接SSH 使用以下命令拉去镜像docker pull neilpang/acme.sh

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

群晖7.2的注册表勉强能用,建议还是使用命令拉取

2、运行acme.sh镜像 docker名一定要是acme不然后面的垃圾脚本可能你要自己更改。

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

映射目录,随你怎么放。

3、网络选择HOST 执行命令中填写daemon

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

注意执行命令和网络

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

成功运行就行

4、现在开始写一个脚本并添加到群晖的任务计划中执行

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

垃圾代码,建议放到上面所映射的目录,文件名为acme.sh

#你的域名


DOMAIN=''

#证书供应商

CERT_SERVER='letsencrypt'

#DNS供应商 可选 dns_dp(腾讯云) dns_ali(阿里云) dns_cf 其他可查https://github.com/acmesh-official/acme.sh/wiki/dnsapi

DNS="dns_dp"

#群晖账号密码

SYNO_Username=''

SYNO_Password=''

#如果开启了双重验证请在浏览器登录时选中保存此设备,然后从COOKIE中获取did cookie

SYNO_TOTP_SECRET=''

#以下群晖配置非必要不要更改

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=''

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

c="SYNO_Username=${SYNO_Username}"

d="SYNO_Password=${SYNO_Password}"

e="SYNO_TOTP_SECRET=${SYNO_TOTP_SECRET}"

f="SYNO_Hostname=${SYNO_Hostname}"

g="SYNO_Scheme=${SYNO_Scheme}"

h="SYNO_Port=${SYNO_Port}"

i="SYNO_Certificate=${SYNO_Certificate}"

j="SYNO_DID=${SYNO_TOTP_SECRET}"

docker exec -e ${a} -e ${b} acme acme.sh --log --server "${CERT_SERVER}" --issue -d "${DOMAIN}" -d "*.${DOMAIN}" --dns "${DNS}"

docker exec -e ${c} -e ${d} -e ${e} -e ${f} -e ${g} -e ${h} -e ${i} -e ${j} acme acme.sh --issue -d "${DOMAIN}" -d "*.${DOMAIN}" --dns "${DNS}" --deploy --deploy-hook synology_dsm

5、将脚本命名为acme.sh并上传到群晖,最好是上面所映射的目录中,并在群晖添加任务计划。

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

root!!!

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

双重认证

如果你的群晖开启了双重认证一定要把did填入脚本中,以下为怎么获取did


1、一定要勾选箭头所指

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

一定要勾选箭头所指

2、按F12打开开发者模式,然后找如图所示

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

3、将获取的did填入这里!

群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

结果


群晖7.2使用ACME.SH更新SSL证书 双重认证 泛域名 DNSPOD

总结

弄这个的原因主要是网络上的教程,不知道怎么回事我怎么弄都不行,然后就自己弄了以下,其实都大差不差。希望大家能喜欢。


作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

网友评论

验证码 换一张
取 消
暂无评论...
三日内热门评论文章
为您推荐
  • 相关阅读
  • 业界资讯
  • 手机通讯
  • 电脑办公
  • 新奇数码
  • 软件游戏
  • 科学探索