侧边栏壁纸
博主头像
恪晨的小站 博主等级

行动起来,活在当下

  • 累计撰写 153 篇文章
  • 累计创建 43 个标签
  • 累计收到 29 条评论

目 录CONTENT

文章目录

使用neilpang/acme.sh定期更新群晖证书

恪晨
2025-02-27 / 0 评论 / 0 点赞 / 18 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2025-02-27,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Docker下载neilpang/acme.sh

安装neilpang/acme.sh

使用与Docker Host相同的网络

image.png

增加自行命令daemon

image-kn1w.png

容器名称

image-ch96.png

映射目录

image-nnyy.png

配置好以后正常启动即可

配置文件

在群晖的/docker/acem.sh文件夹下创建文件名为acme.sh的文件,内容如下:

#你的域名
DOMAIN="example.com"
#证书供应商
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=""
#以下群晖配置非必要不要更改
SYNO_Hostname="群晖本地IP" # Specify if not using on localhost
SYNO_Scheme="http"
SYNO_Port="群晖http登陆端口"
#要添加的证书的名字,空字符串("")的话就是替代默认证书,一般建议使用空字符串,除非你有多个证书
SYNO_Certificate=""

#以下三选一
#阿里云 (自行获取)
Ali_Key="阿里云域名key"
Ali_Secret="阿里云域名密钥"


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

定时任务

image-dqzz.png

任务脚本:

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

image-rxdo.png

创建好以后运行一下定时任务即可更新证书,设置好定时运行时间,就可以实现定期更新证书了

注意事项

1、创建的docker容器名称要与acme.sh脚本中的docker容器名称一致;
2、脚本文件路径与定时脚本中填写的路径要一致;

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
广告 广告

评论区