OSD和视频流接口随机出现net::ERR_CONNECTION_RESET问题分析总结

先分析页面实际怎么请求

复制代码
浏览器打开 http://XX:32218/...   ← 本机宝塔 nginx,正常
        ↓ 反代到 xx:32218
页面 GET /api/xx/wss-base
        → {"base":"wss://xx"}
然后 new WebSocket(
  wss://xx/osd
  wss://xx/map/trajectory
)

32218 只负责前端壳;OSD/轨迹 WebSocket 打到 xx:443 。

本机连续探测该 OSD 地址:20 次里约 10 次成功、10 次「连接被对方重置」------与「不规律出现」完全一致。

具体问题点(间歇性根因)

同一台机的 :443 被两个进程同时占用(SO_REUSEPORT):

进程 角色 对 /dj-prod-api/.../osd
cilium-envoy Cilium Gateway(平台路由 → uav-nginx) 正常 101
envoy(Higress gateway,hostNetwork=192.168.1.100) Higress,无正确业务路由 失败 / RST

内核把新连接随机分给两者 → 大约一半成功、一半 RESET 。

这不是 32218 前端坏了,也不是前端写死 1235(这个监控页走的是 wss-base → 443)。

另外:宝塔仍配置了 listen 11081 ssl(xx_11082.conf),但当前 11081 实际由 cilium-envoy 占用;配置冲突也要清理,以免以后再抢端口。

怎么修

首选:消掉 443 双占用(根治)

任选其一:

  1. 若 Higress 不用 :缩容/停掉 higress-system/higress-gateway,让 443 只留给 Cilium
  2. 若 Higress 还要:改掉它的 hostNetwork / 不要绑宿主机 80、443(改成 ClusterIP + 单独 NodePort,或别的端口)

修完后验证:

bash 复制代码
sudo lsof -iTCP:443 -sTCP:LISTEN | awk '{print $1}' | sort -u
# 应只剩 cilium-envoy(或只剩你选定的那一个)

再压测 OSD,成功率应接近 100%:

bash 复制代码
# 连续打 wss 升级,不应再大量出现「连接被对方重置」

临时绕过(不改网关抢端口)

把 /api/XXX/wss-base 的返回改成只走 Cilium 独占端口,例如:

json 复制代码
{"base":"wss://XXXX:11081"}

(11081 上 OSD/FLV 之前测过可 101;改的是 192.168.100.168 上该 Next 服务的配置/环境变量,不是 32218 反代本身。)

浏览器侧怎么确认

在该监控页打开 DevTools → Network → WS:

  • 失败连接目标应是 wss://XXX/osd(或 trajectory)
  • 状态为 (failed) net::ERR_CONNECTION_RESET
  • 刷新多次会有时成功有时失败

一句话 :RESET 来自它连接的 wss://XXX:443,因 Cilium 与 Higress 同时占用 443 导致约一半连接被错误网关重置。先去掉 Higress 对宿主机 443 的占用,或把 wss-base 改到仅 Cilium 的 11081。

相关推荐
非优秀程序员3 小时前
第12章 烧钱无底洞!!!不烧就死,烧了也不知道啥时候死|《互联网产品恩仇录》
人工智能
Zelman9453 小时前
第06章-交互与观察动作空间
人工智能
冬奇Lab4 小时前
开源项目第258期:Harness² —— Google Research 的「递归式 Agent Harness 优化」,模型权重不动,只改 Agent 的外壳
人工智能·开源
字节跳动视频云技术团队5 小时前
每两家头部手机厂商就有一家选它:火山引擎如何成为 AI 手机助手的“隐形底座”?
人工智能
泯泷5 小时前
像项目经理一样指挥 AI 团队:管理者模式
人工智能·llm·agent
京东云开发者6 小时前
双11囤Token火了:京东搜索量暴涨7倍,AI生产力成新刚需
人工智能
ahccqw6 小时前
OpenCV 车辆数量统计
人工智能·opencv·计算机视觉
人工智能AI技术6 小时前
LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话
人工智能
Flynn Liang6 小时前
同一需求三套写法:用 Spring AI、LangChain4j、AgentScope Java 各实现一个带工具调用的 RAG 助手(实战对比)
java·人工智能·大模型·架构设计·spring ai·langchain4j·agentscope