群晖 Let's Encrypt 配置多个泛域名 SSL 证书自动更新
之前一直用的 syno-acme 配合群晖的计划任务实现泛域名 SSL 证书的更新,但是最近想切换域名,但是又要保持原有域名一段时间可用。syno-acme
的方案只支持默认证书的配置,群晖上多个证书的配置确实比较麻烦,几年前也折腾过。
不过调研了下发现,Let's Encrypt 支持将多个域名绑定到同一个证书里,于是找了下解决方案,果然有位兄弟基于 syno-acme
做了些修改,支持多个域名。不过这位兄弟是 Hard Code 的,不够通用化,于是对 syno-acme
做了些改进,并提交了 Pull request,希望对大家有帮助,Fork 仓库。
主要修改内容:
配置时可通过逗号分隔多个域名,config
如下:
# 你域名,如 baidu.com sina.com.cn 等,多个域名之间逗号分隔,支持泛域名
export DOMAIN=your_domain1,*.your_domain1,your_domain2,*.your_domain2
cert-up.sh
主要修改了如下的地方:
for d in ${DOMAIN//,/ }
do
domain_params="${domain_params} -d ${d}"
done
${ACME_BIN_PATH}/acme.sh --force --log --issue --dns ${DNS} --dnssleep ${DNS_SLEEP} ${domain_params}
${ACME_BIN_PATH}/acme.sh --force --installcert ${domain_params} \
--certpath ${CRT_PATH}/cert.pem \
--key-file ${CRT_PATH}/privkey.pem \
--fullchain-file ${CRT_PATH}/fullchain.pem
通过逗号分隔 DOMAIN
中的多个域名,并循环拼接多个 -d
参数即可。
这么修改后,群晖就可以愉快的支持多个主域名的 SSL 证书啦,爽!
评论区