- 基于DNSPod配置DDNS
- 和云主机同步自动更新Let’s encrypt泛域名证书
本地系统:群晖DSM6.2
远程主机:腾讯云 centos7
DNS服务:DNSPod
自从用了群晖以后,从文件共享功能逐步到同步盘、Note、Emby、VPN等等,群晖逐渐变成了一个家庭服务中心。
因为家里是电信宽带,从外部访问来说,一直是用自带的 Quick Connect 服务,他会给你一个 username.synology.me 的域名,但是域名主机毕竟在国外,越墙的稳定性会有一些问题,正好刚购置了一台腾讯云的主机用来放 Blog,也把原先在 Godaddy 的域名迁到了 DNSPod,所以就用自己的域名来配置群晖的DDNS了。
由于在云主机上已经通过acme生成了SSL证书和自动更新,所以在群晖上,只需要定期更新下来就行了。
配置基于DNSPod的DDNS
登录DNSpod的控制台
- 进入账号中心 > API密钥 > DNSPod Token,创建密钥,获取并保存 Token
- 进入账号中心 > 账号信息,记录 APPID,这是群晖DDNS配置中的用户名
进入群晖DSM管理
- 进入控制面板 – 外部访问 – DDNS,新增选择DNSPod.cn
- 用户名是上面的APPID,密码是上面的Token
自动更新远程的证书文件
1. 配置ssh远程访问所需要的authorized_keys,手工拷贝远程证书文件试试
通过ssh登录群晖,创建keys,复制到远程主机以便免口令登录
群晖 DSM6.2 中的证书路径:
DSM_CERT_PATH=”/usr/syno/etc/certificate/_archive”
DSM_CERT_INFO=”$DSM_CERT_PATH/INFO”
在DSM管理后台手工导入证书文件,查看证书文件,其中768mIH是新导入的证书目录,u1ABhB是之前系统申请的username.synology.me的证书,INFO文件是每个证书的应用说明
root@WP-NAS:/usr/syno/etc/certificate/_archive# ll
total 32
drwx—— 5 root root 4096 Sep 1 13:24 .
drwxr-xr-x 5 root root 4096 Dec 13 2020 ..
drwx—— 2 root root 4096 Sep 1 11:13 768mIH
-rw——- 1 root root 7 Sep 1 11:15 DEFAULT
-rw——- 1 root root 1267 Sep 1 13:24 INFO
drwx—— 2 root root 4096 Dec 13 2020 rxV5WB
-rw-r–r– 1 root root 17 Dec 13 2020 .syno-ca-cert.srl
drwx—— 2 root root 4096 Aug 29 17:08 u1ABhB
# 在腾讯云的vhost上已经申请和下载了SSL证书了,目录在/root/.acme.sh/*.wp1998.net/
# 在家里群晖上配置ssh公钥,就用root了
home-nas# cd /root
home-nas# ssh-keygen -t rsa
home-nas# scp .ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys
home-nas# ssh xx.xx.xx.xx
# 从vhost远程copy证书文件
home-nas# scp [email protected]:/root/.acme.sh/*.wp1998.net/fullchain.cer /usr/syno/etc/certificate/_archive/768mIH/fullchain.pem
home-nas# scp [email protected]:/root/.acme.sh/*.wp1998.net/fullchain.cer /usr/syno/etc/certificate/_archive/768mIH/cert.pem
home-nas# scp [email protected]:/root/.acme.sh/*.wp1998.net/*.wp1998.net.key /usr/syno/etc/certificate/_archive/768mIH/privkey.pem
重启Nginx服务,查看证书是否正常
2. 配置一个计划任务定时拷贝证书文件
创建一个shell脚本文件:
echo “Copy certificate…”
scp [email protected]:/root/.acme.sh/.domain/fullchain.cer /usr/syno/etc/certificate/_archive/768mIH/fullchain.pem scp [email protected]:/root/.acme.sh/.domain/fullchain.cer /usr/syno/etc/certificate/_archive/768mIH/cert.pem
scp [email protected]:/root/.acme.sh/.domain/.domain.key /usr/syno/etc/certificate/_archive/768mIH/privkey.pem
echo “Copy Succes…”
在控制面板 – 任务计划中,新增一个计划的任务(用户定义的脚本,即为上面的shell),每月执行一次