收起左侧

Docker容器打开时不跳转FNCONNECT代理域名

5
回复
50
查看
[ 复制链接 ]

1

主题

2

回帖

0

牛值

江湖小虾

悬赏10飞牛币未解决

在飞牛 OS(fnOS)升级之前:

  • Docker 容器可以正常访问
  • 在飞牛 Docker 页面点击容器端口,会打开类似:
https://xxxx.fnos.net/xxxxx

这样的长域名访问地址。

升级飞牛 OS 后(版本):

  • Docker 容器仍然正常运行
  • 飞牛手机 App 内可以访问容器
  • 但是在飞牛 Web 页面点击 Docker 端口,新标签页访问的是fnos.net:端口号,不是以前访问的三级域名地址,而且端口号页面打不开
  • 直接输入以前的长域名可以访问

更新系统后,容器只要不重新部署,点击docker中的端口号打开的就是:https://a0070213-0.FNID.fnos.net/,重新构建容器再次点击端口号打开的就是:https://FNID.fnos.net:5080/
Screenshot2026-07-11100150.png
在FN手机APP不论内网外网都可以打开容器,唯独网页不行

附件: 您需要 登录 才可以下载或查看,没有账号?立即注册
收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

2288

回帖

360

牛值

社区共建团

fnOS1.0上线纪念勋章社区共建团荣誉勋章飞牛百度网盘玩家AMD适配纪念勋章

bug已经修了。在内测。
要等新版吗?多久啊,官方是否可以更新一下docker解决  详情 回复
半小时前
冬眠~Connection refused.

0

主题

1

回帖

0

牛值

江湖小虾

标题:Docker容器快捷访问端口错位/FNCONNECT三级域名不跳转 — 根因分析
问题现象(与另一帖子 #67423 一致):
  • 飞牛OS升级后,之前部署的Docker容器可以正常访问(三级域名 [容器ID]-0.[FNID].fnos.net/)
  • 重建容器后,在Docker页面点击端口,打开的是 https://[FNID].fnos.net:端口号/(降级为IP+端口模式),而且端口号是容器内部端口,不是映射后的宿主机端口
  • 手机App正常,仅Web端异常
  • 直连IP+端口可以访问,但通过三级域名打不开
根因:SAC(系统核心组件 /usr/trim/bin/trim_sac)的 v1/dockerList API 取错了端口来源
详细调用链(逐层排查):

用户点击Docker页面容器快捷访问         ↓前端JS向SAC发请求: GET /v1/dockerList         ↓SAC通过gRPC调dockermgr的containerList方法         ↓dockermgr向Docker daemon查询: GET /containers/json         ↓Docker daemon返回Ports信息:    "Ports": [      {"PrivatePort": 3000, "PublicPort": 6789, "Type": "tcp"}    ]         ↓SAC的v1/dockerList handler从dockermgr返回中取port字段         ↓SAC取了 PrivatePort(3000)❌ 而不是 PublicPort(6789)         ↓前端收到的: uri.port=3000         ↓前端尝试用publicPort=6789匹配uri.port=3000 → 匹配失败         ↓三级域名映射丢失 → 降级为 fnos.net:3000 → 打不开
补充证据:SAC数据库状态
SAC 的 entry 表中 url 字段存的是正确的宿主机端口:


但 v1/dockerList 接口不从数据库读端口,而是实时从docker API取容器信息后取了PrivatePort。
通过二进制 strings 分析 SAC 的 protobuf 定义证实:

json:"uri"json:"port"json:"fnDomain"
dockerList handler在构造URI时用了错误的端口来源。
为什么老容器正常?
如果容器端口映射是 8081:8081(内外一致),则 PrivatePort=PublicPort=8081,即使取错也不会暴露问题。
但如果映射是 6789:3000 或 80:8080(内外不一致),就必现。
受影响范围:
  • 所有rebuild/重新部署的Docker容器
  • 只有内外端口映射不一致的容器才会暴露问题
  • 手机App正常(可能不走dockerList接口,用了不同实现)
目前无官方修复(SAC是闭源二进制,需等飞牛系统更新)
临时绕过:
  • 浏览器访问 https://你NAS的IP:8000/trimcon/cookie 设置强制中继cookie(流量走中继通道,绕过SAC的dockerList端口匹配)
  • 或确保容器端口映射内外一致(如用 8081:8081 而非 6789:3000)以上AI回复,我以为我改错了东西折腾2天了 ,求助

0

主题

22

回帖

0

牛值

系统先锋体验团🛩️

memory_clear 发表于 2026-7-11 11:07
bug已经修了。在内测。

要等新版吗?多久啊,官方是否可以更新一下docker解决

0

主题

2

回帖

0

牛值

江湖小虾

遇到同样的问题,顶一下

0

主题

2

回帖

0

牛值

江湖小虾

有个临时解决办法,就是安装fndesk,在桌面上创建对应的docker应用图标,这种链接是对的,点击跳转的就是fnconnect的三级域名

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则