作者:乖缪
起因
letsencrypt的SSL证书只有三个月有效期,相信大家的nas也都使用了SSL证书,来开启HTTPS。三个月的有效期每次手动申请手动上传很麻烦,因此不断百度发现使用acme.sh 配合群晖的任务计划能够自动更新证书。
可能张大妈已经有了同类型的,但我认为我的那个垃圾脚本可能要方便一点(只是可能)
开了双重验证登录的也可以使用
过程
1、群晖打开container manager 搜索acme下载第一个|或者使用Xshell等工具连接SSH 使用以下命令拉去镜像docker pull neilpang/acme.sh
2、运行acme.sh镜像 docker名一定要是acme不然后面的垃圾脚本可能你要自己更改。
3、网络选择HOST 执行命令中填写daemon
4、现在开始写一个脚本并添加到群晖的任务计划中执行
#你的域名
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并上传到群晖,最好是上面所映射的目录中,并在群晖添加任务计划。
双重认证
如果你的群晖开启了双重认证一定要把did填入脚本中,以下为怎么获取did
1、一定要勾选箭头所指
2、按F12打开开发者模式,然后找如图所示
3、将获取的did填入这里!
结果
总结
弄这个的原因主要是网络上的教程,不知道怎么回事我怎么弄都不行,然后就自己弄了以下,其实都大差不差。
希望大家能喜欢。
查看文章精彩评论,请前往什么值得买进行阅读互动