Skip to content

子域模式上手

子域模式头图

先给结论

子域模式是当前最推荐优先评估的主线路线。

如果你已经有公网入口和域名,并且主要想保护的是飞牛 Web 入口、AList、Jellyfin、仪表盘这类 Web 服务,那么通常不建议再从直连模式开始,而是直接使用子域模式。

一句话理解:

子域模式是直连模式面向 Web 服务入口的升级版。

这页适合谁

如果你已经确定自己属于下面这类用户,这页就是给你的:

  • 已有公网 IPv4 / IPv6,可以让域名直接解析到自己的设备
  • 希望每个服务都用独立子域名访问,例如 alist.example.com
  • 不想再维护 /alist/jellyfin 这类路径映射
  • 想保留“公网直达”的简单链路,但体验比传统直连模式更适合 Web 服务

子域模式的核心思路

它和直连模式、反代模式最大的区别在于:

  1. 入口仍然是同一个网关端口
  2. 但访问心智从“登录后放行原始端口”变成了“同一父域下按 Host 分发”
  3. 统一登录入口通常会放在 auth.example.com:7999
  4. 业务服务则分别使用 alist.example.com:7999nav.example.com:7999 这类子域地址

这个模式:

  • 更适合公网 Web 服务统一接入
  • 可以保留独立子域,不必再为路径前缀兼容性头疼
  • 切换后会自动调整入站防火墙策略,把公网入口收敛到 7999
  • 也是当前更推荐的新部署路线

如果你后面再给这套子域体系前面接上:

  • 腾讯云 EdgeOne
  • 阿里云 ESA

那么最终用户看到的外部地址更常见会变成标准 443,例如:

  • https://auth.example.com
  • https://alist.example.com

但加速平台回到 fknock 的源站端口,仍然应该填:

  • 7999

切换到子域模式后,防火墙会自动变成更符合统一网关的形态:

  • IPv4 / IPv6 的公网入站会统一收敛到 7999
  • 本机回环、已建立连接、局域网、链路本地和常见容器内网等必要流量会继续放行
  • 其余不需要的公网入站端口会默认拒绝
  • 通过 子域名:7999 访问,例如 fnos.example.com:7999

推荐的落地顺序

  1. 准备父域名,并把根域或通配子域解析到你的公网入口
  2. 切换到 子域模式
  3. 保存域名
  4. 点击 添加鉴权服务
  5. 再通过 一键发现 添加第一批业务子域映射
  6. 配置 SSL
  7. 如果公网地址会变化,再配置 DDNS
  8. 从外部网络验证 auth.example.com:7999 和业务子域

如果之前用过反代模式,建议在第 1 步前先清理旧的路径映射,避免路径心智和子域心智混在一起。

如果你的子域体系准备接到:

  • 腾讯云 EdgeOne
  • 阿里云 ESA

建议把专题教程一起看:

第 1 步:如果之前用过反代模式,先清理旧路径

路径:路径映射

如果你之前已经在反代模式里加过 /alist/jellyfin 这类“映射路径”,建议先全部删除,再切换到子域模式。

这样做的原因不是页面必须强制清空,而是为了避免:

  • 你的心智仍停留在路径映射
  • 排错时把旧路径规则和新子域规则混在一起
  • 切换后仍然沿着旧入口去测试,误判问题

第 2 步:切换到子域模式

路径:系统设置 → 模式

请选择:

  • 子域模式

如果你是从反代模式切过来,系统在离开反代模式时会先停止:

  • FRP
  • Cloudflared

因此这条路线更适合:

  • 域名直接解析到你自己的公网入口

而不是继续依赖隧道。

第 3 步:先保存域名

路径:子域映射 → 子域模式配置

至少先填:

  • 域名,例如 example.com

保存后,后续新增映射时只需要填写:

  • alist
  • jellyfin
  • nav

系统会自动补成:

  • alist.example.com
  • jellyfin.example.com
  • nav.example.com

这几个字段怎么理解

  • 跨子域 Cookie 范围:大多数情况下留空即可,让系统自动处理
  • 新映射默认访问方式:通常先保持 登录优先
  • Passkey RP 配置:默认用 鉴权域名 兼容性最好;如果你明确要让同一父域下多个子域共用一组 Passkey,再考虑 父域 RP ID

第 4 步:先添加鉴权服务

路径:子域映射

推荐顺序:

  1. 点击 添加鉴权服务
  2. 系统会自动创建默认登录入口,通常是 auth.example.com
  3. 确认列表里已经出现这条鉴权映射

这一步一定不要漏。

需要注意:

  • 鉴权服务只能有一条
  • 它必须保持公开可达
  • 后续不要再把它改成“要求认证”或“严格白名单”

因为未登录用户会先被引导到这个鉴权子域,再跳回原始业务子域。

第 5 步:再用一键发现接入第一批业务服务

推荐顺序:

  1. 先确认鉴权服务已经添加完成
  2. 点击 一键发现
  3. 等扫描完成
  4. 勾选你要接入的服务
  5. 检查建议子域名
  6. 添加选中项

新增 Host 映射时,推荐默认值通常会更偏向:

  • 保留原始 Host
  • 登录优先

这也正是子域模式最常见的推荐做法。

第 6 步:尽早把 SSL 配好

子域模式非常依赖 HTTPS 体验。

原因很直接:

  • 你会长期通过正式域名访问
  • Passkey 在 HTTPS 下更稳定
  • 多个业务子域都需要证书覆盖

推荐优先看:

如果你的目标是:

  • auth.example.com
  • alist.example.com
  • nav.example.com

那么最常见的做法是:

  • 申请 *.example.com

如果你还想让根域 example.com 也同时可用,再把:

  • example.com

一起加进证书申请列表。

第 7 步:如果公网地址会变化,再配置 DDNS

子域模式虽然不再按原始端口直连业务服务,但它仍然属于“域名直接指向你自己的公网入口”的路线。

因此只要你的公网 IP 会变化,就仍然很常见需要:

如果你只有公网 IPv6,而且准备把整个子域体系都挂在同一父域下,推荐直接看:

这篇教程会把:

  • *.example.com
  • 仅更新 IPv6
  • 子域模式
  • ACME 证书

串成一条完整路线。

如果你回到局域网后,不想继续绕公网

路径:系统设置 → 功能 → 智能连接

如果你已经把外网访问稳定跑起来了,但回到家里 Wi-Fi 后仍然希望:

  • auth.example.com
  • alist.example.com
  • fnos.example.com

这类子域优先走局域网,而不是继续绕公网入口,那么就可以继续开启:

  • 智能连接

它的核心思路是:

  1. 让 fknock 把当前所有子域映射同步成本地 DNS 规则
  2. 让这些子域在局域网里解析回本机私网 IP
  3. 这样客户端回到局域网后,访问链路会更直接

需要特别注意:

  • 它只在 子域模式 下可用
  • 依赖 dnsmasq
  • 还需要你把路由器 DHCP DNS,或测试设备自己的 DNS,改成 fknock 的局域网 IP

完整配置和排障说明见:

如果你还想让飞牛分享链接直接打开

路径:系统设置 → 飞牛

子域模式下也可以启用:

  • 飞牛分享直通

前提是你至少保留一条真正指向飞牛的 Host 映射,最好就是:

  • fnos.example.com

这样别人打开飞牛原生分享链接时,就不必先看到 fknock 登录页。

完整说明见:

切换到子域模式后,防火墙会发生什么

切换完成后,系统会自动把入站防火墙策略调整成更适合子域网关的形态:

  1. IPv4 / IPv6 的公网访问会统一收敛到 7999
  2. 本机回环、已建立连接、局域网、链路本地和常见容器内网等必要流量会继续放行
  3. 其他不需要的公网入站端口会默认拒绝,避免绕过 fknock 直接访问原始服务端口

这意味着外部访问心智会更统一:

  • fnos.example.com:7999
  • auth.example.com:7999
  • alist.example.com:7999

都会先进入同一个网关入口,再由网关按 Host 分发。

如果你前面套了 EdgeOne / ESA,则可以把这句话替换成:

  • 最终用户访问标准 80 / 443
  • 加速平台再把请求回源到 fknock 的 7999

第 8 步:从真正的外部网络验证

建议按这个顺序测:

  1. 先访问 https://auth.example.com:7999
  2. 确认登录页可以正常打开
  3. 完成人机验证与 TOTP / Passkey 登录
  4. 再访问 https://alist.example.com:7999https://jellyfin.example.com:7999

如果你前面接了 EdgeOne / ESA,则把上面的测试地址改成:

  • https://auth.example.com
  • https://alist.example.com

同时回源配置里仍然保持:

  • 7999

如果你只在同一局域网里测,很容易把:

  • 本地 DNS
  • 局域网直通
  • 公网链路

混成一件事。

登录成功后,你会看到右下角 toolbar 小组件

在子域模式里,当你已经登录成功并进入业务子域页面后,右下角默认会出现一个 toolbar 小组件。

它最方便的地方在于:

  • 可以直接在不同业务子域之间切换
  • 可以直接从菜单里退出登录

同时它还支持拖动到屏幕四个角落,适合按自己的页面习惯来摆放。

如果某个业务页面不想显示它,也可以在对应 Host 映射里把 显示小工具 关掉。

子域模式最适合什么服务

最适合:

  • 飞牛 Web 入口
  • AList / OpenList
  • Jellyfin / Emby 一类 Web 管理入口
  • 仪表盘、面板、轻量后台

不太适合当成主线路线的,是那些你仍然坚持要按原始端口直接访问的老习惯场景。那种需求通常更接近:

相关阅读

QQ群:1081609274