利用群晖自带反代为网络服务配置 https
群晖无论是商店的套件还是 Docker 都可以自行安装很多网络服务,有的比如 qbittorrent、Jellyfin 都是内置 https 配置选项的。那对于其他安装的服务应该如何配置 https 呢?在常规 Linux 系统上,一般通过 Nginx、Apache 解决,但群晖内置了基于 Nginx 的图形化反代工具,一切都变得非常简单。
本篇文章就以 Aria2 的 WebUI 为例,介绍如何添加 https
前期准备
域名
要确保你有一个域名访问服务,并绑定了你公网 IP,如果公网IP是变化的,请使用 DDNS。
证书
你要申请一个与访问域名相匹配的证书,并已经配置好在 控制面板 — 安全性 — 证书 下。具体如何获取证书和装载证书,百度教程一大堆。
端口
你还要明确你还想不想通过原来的端口访问服务,如果想,那就要改变原来服务的内网端口。因为来源主机地址的端口不能跟本地端口相同。如果是 Docker 还好办,把映射出来的本地端口改了就行。但如果是套件,控制面板 — Synology 应用程序门户 — 应用程序 里又没有端口设置,就只能更换访问端口了。
配置过程
1. 确认网络服务的本地端口,正如之前提到的,后面是不会通过这个端口访问的。Docker 这里的话,最好也别用默认端口 8080,因为默认 8080 端口的服务一大堆,这里随便填个比如 8000。至于上面的那个端口是其他作用,与本例无关,请忽略。
2. 打开 控制面板 — Synology 应用程序门户 — 反向代理服务器,点 新增
3. 这里有一些内容需要填写,一项一项来
描述 — 随便填一个名字
来源协议 — HTTPS
来源主机名 — 留空,默认为 *
来源端口 — 这就是你想访问的那个端口,设置为你自己需要的
启动 HSTS — 因为来源主机名没有指明,所以这里开不开没有用,就不开吧
启用 HTTP/2 — 建议开启,对于带宽比较小的网络环境加载静态页面提升比较大
启用访问控制 — 可以先不开,有需求自己研究下
目的地协议 — HTTP
目的地主机名 — localhost
目的地端口 — 服务的本地端口,刚才设置的是 8000,这里就填 8000
4. 路由器 NAT 设置一下,内网 8857 对公网的 8857
5. 尝试通过 https://<子域名>:8857 访问,成功
6. 如果收藏夹存了地址,并且端口没变,记得把原来的地址从 http 改成 https
延伸
既然群晖配置反代如此简单,那是不是可以为运行在内网的其他机器上的服务配置呢,你可以自己去尝试一下