端口、入口与访问路径
先解决最容易混淆的问题
第一次接触 敲门 knock 时,最常见的误会就是把下面两件事混在一起:
- 管理后台入口
- 对外访问入口
请先记住:
飞牛桌面的“敲门 knock”图标:这是管理后台入口7999端口或它映射出来的域名:这是外部访问入口
如果你要改配置,就进后台;如果你要验证外部访问链路,就检查 7999 或对应的域名。
默认 4 个端口分别做什么
| 端口 | 作用 | 是否通常要直接访问 |
|---|---|---|
7998 | 管理后台 Web 入口 | 通常不需要,桌面图标会带你进入 |
7997 | 认证服务 | 一般不直接访问 |
7996 | Go 管理 API | 一般不直接访问,仅本机使用 |
7999 | 统一访问入口 | 需要重点关注 |
7996默认绑定在本机回环地址,只给管理逻辑使用7997负责登录、退出、Passkey、人机验证等认证相关流程7999才是真正承接外部流量的网关入口
为什么文档里总在强调 7999
因为无论你使用哪种模式,最终都绕不开它:
子域模式:域名及其业务子域最终也会统一进入你的7999反代模式:FRP、Cloudflared 或上游反向代理最终也会把流量引到你的7999直连模式:用户直接访问你的7999完成登录,再由白名单放行原始端口
所以,7999 可以理解成 fknock 的“统一入口面”。
不同模式下,入口会怎样工作
子域模式
子域模式下,7999 仍然是统一入口,但分发方式从“路径”变成了“Host”。
典型流程:
auth.example.com、alist.example.com这类子域都会进入同一个入口- 未登录用户会先被引导到鉴权子域
- 登录后,再回到原始业务子域
- 网关按 Host 把请求分发到不同本地服务
这更接近:
让同一父域下的多个子域共用一个网关入口,再按 Host 分发服务
这是当前更推荐的新部署主线,尤其适合有公网入口和域名的 Web 服务场景。
反代模式
反代模式下,7999 更像统一网关。
典型流程:
- 外部流量统一进入
7999 - fknock 根据路径把请求转发到不同服务
- 某些路径要求先登录,某些路径可以不要求
- 一般情况下,服务发现会自动把飞牛 OS 设为默认服务,所以根路径通常会先进入飞牛 OS
- 只有默认服务缺失或被改动时,才更可能进入服务选择页
这更接近:
让
7999成为对外唯一入口,再用路径拆分多个服务
直连模式
直连模式下,7999 更像一个认证闸口。
典型流程:
- 用户先访问
7999 - 进入认证流程
- 登录成功后,系统把当前出口 IP 自动加入白名单
- 在有效期内,这个 IP 可以继续访问设备上原本开放的其他端口
这就是为什么直连模式常被总结为:
先敲门,再对白名单中的当前 IP 放行
它不再建议作为多数新部署的首选。如果你只是想让 Web 服务拥有独立入口,优先看子域模式。
后台入口和访问入口的排错思路完全不同
当你打不开后台时
优先排查:
- 安装是否成功
7998是否正常- 飞牛桌面图标是否能进入
当你打不开公网入口时
优先排查:
7999是否真的对外可达- 当前模式是否正确
- 证书、映射、DDNS、隧道是否匹配当前场景
访问路径在反代模式里为什么特别重要
因为反代模式不只是暴露一个页面,而是要让多个服务共用同一个入口。
举例:
https://你的域名/alisthttps://你的域名/jellyfinhttps://你的域名/photos
这些路径不是装饰,它们决定了请求会被转发给哪个本地服务。
详细规则见:
一个很实用的判断方法
当你不知道下一步该从哪里排查时,先问自己:
- “我是要改配置吗?”如果是,去桌面图标
- “我是要验证外部访问链路吗?”如果是,检查
7999或外部域名
这样可以避免把“后台正常”和“公网访问正常”混为一谈。
推荐的理解顺序
第一次部署时,建议按这个顺序建立概念:
- 先明确四个端口的角色
- 再分清后台入口和对外入口
- 再决定使用子域、反代还是直连
- 最后再配置证书、DDNS、隧道、映射
下一步建议阅读:
