安装lego#
在github获取相应平台软件 lego release
解压安装#
为了方便使用,将解压的lego
二进制文件复制到/usr/local/bin/
创建更新任务#
新建脚本文件#
保存脚本文件到你喜欢的位置,本例中保存至/volume1/data/cert/cert_auto_renew.sh
,脚本使用cloudflare dns演示,查看更多dns服务商
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| #!/bin/bash
export CLOUDFLARE_DNS_API_TOKEN=* # 此处替换为本人的token
DOMAIN="nas.wangyanzu.com" # 此处替换为本人nas域名
LEGO_CERT_PATH=".lego/certificates"
SYNOLOGY_CERTIFICATE_PATH="/usr/syno/etc/certificate"
SYNOLOGY_DEFAULT_CERTIFICATE_NAME=$(cat "${SYNOLOGY_CERTIFICATE_PATH}/_archive/DEFAULT" | tr -d "\n")
SYNOLOGY_DEFAULT_CERTIFICATE_PATH="${SYNOLOGY_CERTIFICATE_PATH}/_archive/${SYNOLOGY_DEFAULT_CERTIFICATE_NAME}"
# 申请域名
lego --email [email protected] --dns cloudflare --domains $DOMAIN run
# 部署证书
/bin/sh -c "cp '${LEGO_CERT_PATH}/${DOMAIN}.crt' ${SYNOLOGY_DEFAULT_CERTIFICATE_PATH}/fullchain.pem"
/bin/sh -c "cp '${LEGO_CERT_PATH}/${DOMAIN}.crt' ${SYNOLOGY_DEFAULT_CERTIFICATE_PATH}/cert.pem"
/bin/sh -c "cp '${LEGO_CERT_PATH}/${DOMAIN}.key' ${SYNOLOGY_DEFAULT_CERTIFICATE_PATH}/privkey.pem"
# 刷新证书
synow3tool --gen-all
synow3tool --nginx=reload
|
创建定时任务#
因为let’s encrypt 证书有效期为3个月,所以每周执行一次更新脚本即可
cd /volume1/data/cert && bash cert_auto_renew.sh
