简介
群晖是一台功能强大的NAS设备,它具有反向代理的功能,可以用来替代家中的nginx服务器。对于那些希望在群晖上部署SSL证书的用户来说,acme是一个非常好的工具,因为它支持直接部署SSL证书到群晖。本文将指导你如何使用acme为群晖配置SSL证书。
参考资料
https://github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_cf
https://github.com/acmesh-official/acme.sh/wiki/deployhooks#20-deploy-the-certificate-to-synology-dsm
https://github.com/acmesh-official/acme.sh/wiki/Synology-NAS-Guide
ssl证书部分
首先,我们需要创建三个文件夹:
deploy
:运行部署到群晖SSL证书的容器。out
:存放SSL证书。run
:运行创建SSL证书的容器。
接下来,我们需要创建两个docker-compose.yaml
文件,一个在run
文件夹下,另一个在deploy
文件夹下。
run
文件夹下的docker-compose.yaml
如下:
version: "3"
services:
acme:
image: "neilpang/acme.sh:3.0.7"
container_name: "acme"
restart: "always"
command:
- --issue
- --server
- letsencrypt
- -d
- "*.xxx.cn" # 你的域名
- --dns
- dns_cf # 使用cloudflare dns 认证
- --force
environment:
- "CF_Token=xxx" # cloudflare 的token,要求有加dns解析的权限
- "CF_Email=xxx" # cloudflare 的邮箱
volumes:
- "/etc/localtime:/etc/localtime"
- /volume1/data/server/docker/acme/out:/acme.sh
deploy
文件夹下的docker-compose.yaml
如下:
version: "3"
services:
acme-deploy:
image: "neilpang/acme.sh:3.0.7"
container_name: "acme-deploy"
restart: "always"
command:
- --deploy
- --insecure # 如果你的群晖ssl证书是过期的话需要加上
- -d
- "*.xxx.cn" # 你的域名
- --deploy-hook
- synology_dsm
environment:
- "SYNO_Username=xxx" # 群晖的账号
- "SYNO_Password=xxx" # 群晖的密码
- "SYNO_Hostname=xxx" # 群晖的地址
volumes:
- "/etc/localtime:/etc/localtime"
- /volume1/data/server/docker/acme/out:/acme.sh
完成以上步骤后,你只需要先运行run
文件夹下的容器生成SSL证书,然后运行deploy
文件夹下的容器,SSL证书就会自动部署到群晖中。
群晖反向代理设置
群晖的反向代理设置位于"设置"->“登陆门户”->“高级”。你可以在这里配置你的反向代理。
欢迎关注我的博客www.bboy.app
Have Fun