Skip to content

端口、入口与访问路径

先解决最容易混淆的问题

第一次接触 敲门 knock 时,最常见的误会就是把下面两件事混在一起:

  • 管理后台入口
  • 对外访问入口

请先记住:

  • 飞牛桌面的“敲门 knock”图标:这是管理后台入口
  • 7999 端口或它映射出来的域名:这是外部访问入口

如果你要改配置,就进后台;如果你要验证外部访问链路,就检查 7999 或对应的域名。

默认 4 个端口分别做什么

端口作用是否通常要直接访问
7998管理后台 Web 入口通常不需要,桌面图标会带你进入
7997认证服务一般不直接访问
7996Go 管理 API一般不直接访问,仅本机使用
7999统一访问入口需要重点关注
  • 7996 默认绑定在本机回环地址,只给管理逻辑使用
  • 7997 负责登录、退出、Passkey、人机验证等认证相关流程
  • 7999 才是真正承接外部流量的网关入口

为什么文档里总在强调 7999

因为无论你使用哪种模式,最终都绕不开它:

  • 子域模式:域名及其业务子域最终也会统一进入你的 7999
  • 反代模式:FRP、Cloudflared 或上游反向代理最终也会把流量引到你的 7999
  • 直连模式:用户直接访问你的 7999 完成登录,再由白名单放行原始端口

所以,7999 可以理解成 fknock 的“统一入口面”。

不同模式下,入口会怎样工作

子域模式

子域模式下,7999 仍然是统一入口,但分发方式从“路径”变成了“Host”。

典型流程:

  1. auth.example.comalist.example.com 这类子域都会进入同一个入口
  2. 未登录用户会先被引导到鉴权子域
  3. 登录后,再回到原始业务子域
  4. 网关按 Host 把请求分发到不同本地服务

这更接近:

让同一父域下的多个子域共用一个网关入口,再按 Host 分发服务

这是当前更推荐的新部署主线,尤其适合有公网入口和域名的 Web 服务场景。

反代模式

反代模式下,7999 更像统一网关。

典型流程:

  1. 外部流量统一进入 7999
  2. fknock 根据路径把请求转发到不同服务
  3. 某些路径要求先登录,某些路径可以不要求
  4. 一般情况下,服务发现会自动把飞牛 OS 设为默认服务,所以根路径通常会先进入飞牛 OS
  5. 只有默认服务缺失或被改动时,才更可能进入服务选择页

这更接近:

7999 成为对外唯一入口,再用路径拆分多个服务

直连模式

直连模式下,7999 更像一个认证闸口。

典型流程:

  1. 用户先访问 7999
  2. 进入认证流程
  3. 登录成功后,系统把当前出口 IP 自动加入白名单
  4. 在有效期内,这个 IP 可以继续访问设备上原本开放的其他端口

这就是为什么直连模式常被总结为:

先敲门,再对白名单中的当前 IP 放行

它不再建议作为多数新部署的首选。如果你只是想让 Web 服务拥有独立入口,优先看子域模式。

后台入口和访问入口的排错思路完全不同

当你打不开后台时

优先排查:

  • 安装是否成功
  • 7998 是否正常
  • 飞牛桌面图标是否能进入

当你打不开公网入口时

优先排查:

  • 7999 是否真的对外可达
  • 当前模式是否正确
  • 证书、映射、DDNS、隧道是否匹配当前场景

访问路径在反代模式里为什么特别重要

因为反代模式不只是暴露一个页面,而是要让多个服务共用同一个入口。

举例:

  • https://你的域名/alist
  • https://你的域名/jellyfin
  • https://你的域名/photos

这些路径不是装饰,它们决定了请求会被转发给哪个本地服务。

详细规则见:

一个很实用的判断方法

当你不知道下一步该从哪里排查时,先问自己:

  • “我是要改配置吗?”如果是,去桌面图标
  • “我是要验证外部访问链路吗?”如果是,检查 7999 或外部域名

这样可以避免把“后台正常”和“公网访问正常”混为一谈。

推荐的理解顺序

第一次部署时,建议按这个顺序建立概念:

  1. 先明确四个端口的角色
  2. 再分清后台入口和对外入口
  3. 再决定使用子域、反代还是直连
  4. 最后再配置证书、DDNS、隧道、映射

下一步建议阅读:

QQ群:1081609274