You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

浏览器经Apache HTTP服务器调用WebSocket到后端服务的TCP连接总数是多少

WebSocket经Apache反向代理的TCP连接问题解答

核心结论

默认使用mod_proxy_wstunnel做WebSocket转发的场景下,总计会创建2个完全独立的TCP连接,浏览器到Apache、Apache到后端服务各占一个。

连接拆分说明

  • 浏览器 ↔ Apache 段TCP连接:浏览器发起WebSocket握手时率先建立该连接,基于该连接发送带Upgrade: websocket头的HTTP升级请求,握手完成后连接保持长活,所有浏览器侧的WebSocket帧都通过该连接传输。
  • Apache ↔ 后端Web服务 段TCP连接:Apache校验完浏览器的握手请求后,会以客户端身份和目标后端服务建立独立的TCP连接,转发升级请求,收到后端返回的101 Switching Protocols响应后,该连接也进入长活状态。后续Apache会在两段连接之间做双向的帧透传,两段连接的TCP超时、丢包重传逻辑完全独立,互不影响。

特殊场景说明

仅当你将Apache配置为四层透明TCP代理(而非七层WebSocket反向代理)的特殊场景下,才会实现浏览器到后端的端到端单TCP连接,但该配置需要额外调整系统iptables规则,不属于WebSocket代理的常规方案,生产环境几乎不会使用。

标准WebSocket代理配置参考

# 启用依赖模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

# 转发规则配置
ProxyPass "/ws" "ws://192.168.1.100:8080/ws"
ProxyPassReverse "/ws" "ws://192.168.1.100:8080/ws"

内容的提问来源于stack exchange,提问作者Shashank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:45:01