HA群晖反代
在群晖 DSM 6 上,你可以通过内置的“反向代理”功能,将 Docker 容器的某个端口通过 HTTPS 协议暴露出来,并直接使用群晖已有的 Let's Encrypt SSL 证书。
这种方法的好处是,你无需在 Docker 容器内部配置 SSL,也无需为每个服务单独申请证书,所有加密工作都由群晖系统统一处理。
📋 操作步骤
整个设置过程分为三个主要部分:准备证书、配置反向代理、分配证书。
- 准备工作:确认证书
首先,确保你的群晖 NAS 上已经拥有有效的 Let's Encrypt 证书。
- 登录 DSM,进入 控制面板 > 安全性。
- 切换到 证书 标签页。
- 确认列表中已存在你想要的证书(例如 *.yourdomain.com)。如果没有,可以点击“新增”来申请一个免费的 Let's Encrypt 证书。
- 配置反向代理
这是核心步骤,我们将创建一个规则,让群晖将外部的 HTTPS 请求转发到 Docker 容器的 HTTP 端口。
- 进入 控制面板 > 登录门户。
- 切换到 高级 标签页,然后点击 反向代理服务器。
- 点击 新增 按钮,开始创建规则。
在弹出的窗口中,按以下步骤填写:
常规设置
- 名称:为你的规则起一个易于识别的名字,例如 Docker-HomeAssistant。
来源
- 协议:选择 HTTPS。
- 主机名:输入你希望用来访问该服务的域名,例如 ha.yourdomain.com。
- 端口:填写一个未被占用的外部端口,例如 8123。
- 启用HSTS:建议勾选,以增强安全性。
目的地
- 协议:选择 HTTP。
- 主机名:填写 localhost 或你群晖的内网 IP 地址(如 192.168.1.100)。
- 端口:填写你的 Docker 容器在群晖上暴露的端口,例如 8123。
填写完毕后,点击 保存。
- 分配 SSL 证书
创建好反向代理规则后,需要明确告诉群晖为这个新规则使用哪个证书。
- 回到 控制面板 > 安全性 > 证书。
- 点击上方的 设置 按钮。
- 在弹出的窗口中,找到你刚才创建的反向代理规则(它会显示为你设置的 主机名:端口,例如 ha.yourdomain.com:8123)。
- 在对应的“证书”列,从下拉菜单中选择你第一步中确认的 Let's Encrypt 证书。
- 点击 保存。
✅ 完成与访问
完成以上所有步骤后,设置即刻生效。现在,你就可以在浏览器中通过 https://你的域名:你设置的端口(例如 https://ha.yourdomain.com:8123)来安全地访问你的 Docker 应用了。浏览器地址栏会显示安全锁标志,表明连接已通过群晖的证书进行了加密。