群晖通过docker 配置Cloudflare Tunnel
以前了解过通过通过群晖的 QuickConnect 访问第三方应用,但是配置比较麻烦,于是采用cloudfare 的零信任隧道配置.算是一个比较通用的方案,而且是免费的.
Cloudfare 配置
登录Cloudfare Dashboard,进入Zero Trust 选择免费计划。在Networks-Tunnels 中创建docker 类型的隧道。保存给出的安装命令中tunnel --no-autoupdate run --token ... 字符串备用。
设置Public Hostname,给定域名和服务。但是服务端口用https/5001 会有问题,所以用http/5000 的组合更好一些。URL 中的IP 可以设置为docker 宿主机IP:172.0.0.1

群晖安装docker 镜像
在在国内的群晖几乎自动下载docker 镜像,可以通过以下命令保存.tar 压缩包,然后再手动导入到群晖的Container Management。
$ docker pull --platform linux/amd64 cloudfare/cloudfared:latest
$ docker save -o cfd.tar cloudfare/cloudfared:latest
$ # 如果是sudo 运行的,还需要修改文件权限才能上传使用
$ # sudo chmode 777 cfd.tar
如果要导入其他镜像,还可以通过以下命令:
# 拉取指定架构的镜像
docker pull --platform linux/amd64 【镜像名称】
# 导出镜像为 tar 文件
docker save -o package.tar 【镜像名称】
启动docker 镜像
将上面保存的tunnel --no-autoupdate run --token ... 粘贴至command/命令 文本框中,其他配置保持默认。

Cloudfare 安全配置
可以做但非必须,详见参考资料3。需要注意的是,验证邮箱的后缀我留的@outlook.com 无法收到验证码,但是换成自定义域名的邮箱则可以收到。
部分路径绕过安全设置
可以通过新增一个子路径,将其测略设置为bypass,这样对于某些不需要验证的url 就可以直接访问了。
