【问题标题】:How many total TCP connections are created for web socket call from browser to apache http server to web service为从浏览器到 apache http 服务器到 Web 服务的 Web 套接字调用创建了多少 TCP 连接
【发布时间】:2021-10-08 13:33:28
【问题描述】:

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

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

【问题讨论】:

    标签: apache websocket java-websocket


    【解决方案1】:

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

    Apache 监视两个连接的活动并将读取从一个转发到另一个。

    这是它可以在第 7 层(应用层,HTTP)代理中的唯一方式。在低得多的层建立隧道,例如 NAT 设备或 MAC 转发 IP 喷射器,可以建立单个连接 - 但不是基于堆栈中更高层的任何东西,例如标头。

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

    第二个连接在 mod_proxy_wstunnel 调用 ap_proxy_connect_to_backend() 时打开,ap_proxy_connect_to_backend() 又调用 apr_socket_create(),apr_socket_create() 又调用可移植 socket() 例程。当 mod_proxy_http 的最新版本自动处理此隧道时,类似的流程会通过 ap_proxy_acquire_connection。

    【讨论】:

    • 谢谢。您能否指出以上内容的来源/文档?
    • 我已经用一些尾随信息对其进行了编辑。
    猜你喜欢
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 2016-03-01
    • 2015-06-06
    • 2012-12-04
    • 1970-01-01
    相关资源
    最近更新 更多