首页 公告 RSS

如何使用acme为群晖配置SSL证书

January 22, 2024 本文有 676 个字 需要花费 2 分钟阅读

简介

群晖是一台功能强大的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