子域模式上手

先给结论
子域模式是当前最推荐优先评估的主线路线。
如果你已经有公网入口和域名,并且主要想保护的是飞牛 Web 入口、AList、Jellyfin、仪表盘这类 Web 服务,那么通常不建议再从直连模式开始,而是直接使用子域模式。
一句话理解:
子域模式是直连模式面向 Web 服务入口的升级版。
这页适合谁
如果你已经确定自己属于下面这类用户,这页就是给你的:
- 已有公网 IPv4 / IPv6,可以让域名直接解析到自己的设备
- 希望每个服务都用独立子域名访问,例如
alist.example.com - 不想再维护
/alist、/jellyfin这类路径映射 - 想保留“公网直达”的简单链路,但体验比传统直连模式更适合 Web 服务
子域模式的核心思路
它和直连模式、反代模式最大的区别在于:
- 入口仍然是同一个网关端口
- 但访问心智从“登录后放行原始端口”变成了“同一父域下按 Host 分发”
- 统一登录入口通常会放在
auth.example.com:7999 - 业务服务则分别使用
alist.example.com:7999、nav.example.com:7999这类子域地址
这个模式:
- 更适合公网 Web 服务统一接入
- 可以保留独立子域,不必再为路径前缀兼容性头疼
- 切换后会自动调整入站防火墙策略,把公网入口收敛到
7999 - 也是当前更推荐的新部署路线
如果你后面再给这套子域体系前面接上:
- 腾讯云 EdgeOne
- 阿里云 ESA
那么最终用户看到的外部地址更常见会变成标准 443,例如:
https://auth.example.comhttps://alist.example.com
但加速平台回到 fknock 的源站端口,仍然应该填:
7999
切换到子域模式后,防火墙会自动变成更符合统一网关的形态:
- IPv4 / IPv6 的公网入站会统一收敛到
7999 - 本机回环、已建立连接、局域网、链路本地和常见容器内网等必要流量会继续放行
- 其余不需要的公网入站端口会默认拒绝
- 通过
子域名:7999访问,例如fnos.example.com:7999
推荐的落地顺序
- 准备父域名,并把根域或通配子域解析到你的公网入口
- 切换到
子域模式 - 保存域名
- 点击
添加鉴权服务 - 再通过
一键发现添加第一批业务子域映射 - 配置 SSL
- 如果公网地址会变化,再配置 DDNS
- 从外部网络验证
auth.example.com:7999和业务子域
如果之前用过反代模式,建议在第 1 步前先清理旧的路径映射,避免路径心智和子域心智混在一起。
如果你的子域体系准备接到:
- 腾讯云 EdgeOne
- 阿里云 ESA
建议把专题教程一起看:
第 1 步:如果之前用过反代模式,先清理旧路径
路径:路径映射
如果你之前已经在反代模式里加过 /alist、/jellyfin 这类“映射路径”,建议先全部删除,再切换到子域模式。
这样做的原因不是页面必须强制清空,而是为了避免:
- 你的心智仍停留在路径映射
- 排错时把旧路径规则和新子域规则混在一起
- 切换后仍然沿着旧入口去测试,误判问题
第 2 步:切换到子域模式
路径:系统设置 → 模式
请选择:
子域模式
如果你是从反代模式切过来,系统在离开反代模式时会先停止:
FRPCloudflared
因此这条路线更适合:
- 域名直接解析到你自己的公网入口
而不是继续依赖隧道。
第 3 步:先保存域名
路径:子域映射 → 子域模式配置
至少先填:
域名,例如example.com
保存后,后续新增映射时只需要填写:
alistjellyfinnav
系统会自动补成:
alist.example.comjellyfin.example.comnav.example.com
这几个字段怎么理解
跨子域 Cookie 范围:大多数情况下留空即可,让系统自动处理新映射默认访问方式:通常先保持登录优先Passkey RP 配置:默认用鉴权域名兼容性最好;如果你明确要让同一父域下多个子域共用一组 Passkey,再考虑父域 RP ID
第 4 步:先添加鉴权服务
路径:子域映射
推荐顺序:
- 点击
添加鉴权服务 - 系统会自动创建默认登录入口,通常是
auth.example.com - 确认列表里已经出现这条鉴权映射
这一步一定不要漏。
需要注意:
- 鉴权服务只能有一条
- 它必须保持公开可达
- 后续不要再把它改成“要求认证”或“严格白名单”
因为未登录用户会先被引导到这个鉴权子域,再跳回原始业务子域。
第 5 步:再用一键发现接入第一批业务服务
推荐顺序:
- 先确认鉴权服务已经添加完成
- 点击
一键发现 - 等扫描完成
- 勾选你要接入的服务
- 检查建议子域名
- 添加选中项
新增 Host 映射时,推荐默认值通常会更偏向:
保留原始 Host登录优先
这也正是子域模式最常见的推荐做法。
第 6 步:尽早把 SSL 配好
子域模式非常依赖 HTTPS 体验。
原因很直接:
- 你会长期通过正式域名访问
- Passkey 在 HTTPS 下更稳定
- 多个业务子域都需要证书覆盖
推荐优先看:
如果你的目标是:
auth.example.comalist.example.comnav.example.com
那么最常见的做法是:
- 申请
*.example.com
如果你还想让根域 example.com 也同时可用,再把:
example.com
一起加进证书申请列表。
第 7 步:如果公网地址会变化,再配置 DDNS
子域模式虽然不再按原始端口直连业务服务,但它仍然属于“域名直接指向你自己的公网入口”的路线。
因此只要你的公网 IP 会变化,就仍然很常见需要:
如果你只有公网 IPv6,而且准备把整个子域体系都挂在同一父域下,推荐直接看:
这篇教程会把:
*.example.com仅更新 IPv6- 子域模式
- ACME 证书
串成一条完整路线。
如果你回到局域网后,不想继续绕公网
路径:系统设置 → 功能 → 智能连接
如果你已经把外网访问稳定跑起来了,但回到家里 Wi-Fi 后仍然希望:
auth.example.comalist.example.comfnos.example.com
这类子域优先走局域网,而不是继续绕公网入口,那么就可以继续开启:
智能连接
它的核心思路是:
- 让 fknock 把当前所有子域映射同步成本地 DNS 规则
- 让这些子域在局域网里解析回本机私网 IP
- 这样客户端回到局域网后,访问链路会更直接
需要特别注意:
- 它只在
子域模式下可用 - 依赖
dnsmasq - 还需要你把路由器 DHCP DNS,或测试设备自己的 DNS,改成 fknock 的局域网 IP
完整配置和排障说明见:
如果你还想让飞牛分享链接直接打开
路径:系统设置 → 飞牛
子域模式下也可以启用:
飞牛分享直通
前提是你至少保留一条真正指向飞牛的 Host 映射,最好就是:
fnos.example.com
这样别人打开飞牛原生分享链接时,就不必先看到 fknock 登录页。
完整说明见:
切换到子域模式后,防火墙会发生什么
切换完成后,系统会自动把入站防火墙策略调整成更适合子域网关的形态:
- IPv4 / IPv6 的公网访问会统一收敛到
7999 - 本机回环、已建立连接、局域网、链路本地和常见容器内网等必要流量会继续放行
- 其他不需要的公网入站端口会默认拒绝,避免绕过 fknock 直接访问原始服务端口
这意味着外部访问心智会更统一:
fnos.example.com:7999auth.example.com:7999alist.example.com:7999
都会先进入同一个网关入口,再由网关按 Host 分发。
如果你前面套了 EdgeOne / ESA,则可以把这句话替换成:
- 最终用户访问标准
80 / 443 - 加速平台再把请求回源到 fknock 的
7999
第 8 步:从真正的外部网络验证
建议按这个顺序测:
- 先访问
https://auth.example.com:7999 - 确认登录页可以正常打开
- 完成人机验证与 TOTP / Passkey 登录
- 再访问
https://alist.example.com:7999、https://jellyfin.example.com:7999
如果你前面接了 EdgeOne / ESA,则把上面的测试地址改成:
https://auth.example.comhttps://alist.example.com
同时回源配置里仍然保持:
7999
如果你只在同一局域网里测,很容易把:
- 本地 DNS
- 局域网直通
- 公网链路
混成一件事。
登录成功后,你会看到右下角 toolbar 小组件
在子域模式里,当你已经登录成功并进入业务子域页面后,右下角默认会出现一个 toolbar 小组件。
它最方便的地方在于:
- 可以直接在不同业务子域之间切换
- 可以直接从菜单里退出登录
同时它还支持拖动到屏幕四个角落,适合按自己的页面习惯来摆放。
如果某个业务页面不想显示它,也可以在对应 Host 映射里把 显示小工具 关掉。
子域模式最适合什么服务
最适合:
- 飞牛 Web 入口
- AList / OpenList
- Jellyfin / Emby 一类 Web 管理入口
- 仪表盘、面板、轻量后台
不太适合当成主线路线的,是那些你仍然坚持要按原始端口直接访问的老习惯场景。那种需求通常更接近:
