为从浏览器到 apache http 服务器到 web 服务的 web 套接字调用创建了多少个 TCP 连接总数

How many total TCP connections are created for web socket call from browser to apache http server to web service

我想知道当 WebSocket 调用从浏览器到 apache http 服务器到后端 Web 服务时创建了多少个 TCP 连接?

它是否创建了从浏览器到 apache http 服务器以及从 apache 到 web 服务的单独 TCP 连接?

当Apache代理websockets时,客户端和Apache之间有1个TCP连接,Apache和后端之间有1个TCP连接。

Apache 监视两个连接 activity 并将读取的内容从一个连接转发到另一个连接。

这是它在第 7 层(应用层,HTTP)代理中的唯一方式。在更低层进行隧道传输的东西,如 NAT 设备或 MAC 转发 IP sprayer 可以通过隧道传输单个连接——但不是基于堆栈中更高层的东西,如 headers.

第二个连接可以通过 netstat 观察到。

当 mod_proxy_wstunnel 调用 ap_proxy_connect_to_backend() 时打开第二个连接,后者调用 apr_socket_create(),后者调用可移植的 socket() 例程。当 mod_proxy_http 的最新版本自动处理此隧道时,simialr 流经 ap_proxy_acquire_connection.