不能只用
acme.sh ,原理就是先弄个
acme.sh 的 docker ,然后写一个脚本,使用
acme.sh 的 docker 提供的能力,自动申请、更新、部署证书。家里的白裙用了 4 、5 年了,给办公室弄的黑群也跑了一年半了,都没管过。需要注意
acme.sh 的容器需要设置正确的环境变量以能正确使用你的 dns 商提供的 api 接口。
以下脚本中的证书服务商、
acme.sh 容器的容器名需要根据你的情况进行相应修改。
然后把这个脚本加入群晖的计划任务,每月执行一次就行了。
脚本内容参考以下:
```bash
#!/bin/bash
# 域名
DOMAIN='
asidf.com'
# DNS 类型,dns_ali,dns_cf,dns_dp 根据域名服务商而定
DNS='dns_dp'
# DNS API 生效等待时间,单位:秒,一般 120
DNS_SLEEP=120
# 证书服务商,letsencrypt ,zerossl
CERT_SERVER='letsencrypt'
# 邮箱
EMAIL='asdasd@asdasdfsd.com'
# 生成证书和安装证书的命令
updateAcme="
acme.sh --upgrade --auto-upgrade"
generateCrt="
acme.sh --force --log --register-account -m ${EMAIL} --issue --server ${CERT_SERVER} --dns ${DNS} -d "${DOMAIN}" -d "*.${DOMAIN}""
installCrt="
acme.sh --deploy -d "${DOMAIN}" -d "*.${DOMAIN}" --deploy-hook synology_dsm"
# 调用 docker 内的生成命令 exec 后面的是 docker 容器名,使用 id 也可以
docker exec neilpang-acme-sh-1 $updateAcme
docker exec neilpang-acme-sh-1 $generateCrt
docker exec neilpang-acme-sh-1 $installCrt
```