如何配置 Apache2 以允许来自同一 IP 地址的多个同时连接?

Posted

技术标签:

【中文标题】如何配置 Apache2 以允许来自同一 IP 地址的多个同时连接?【英文标题】:How do I configure Apache2 to allow multiple simultaneous connections from same IP address? 【发布时间】:2011-03-31 05:05:35 【问题描述】:

默认情况下,Apache2 似乎只允许每个 IP 地址 1 个连接。

这是我的情况:

    在服务器上托管的网络应用程序。 远程客户端发出的请求可能需要 15 秒才能完成。 同一个远程客户端发出另一个(独立)请求。 目前,第二个请求位于队列中,直到第一个请求完成, 因为 Apache2 似乎对每个 IP 地址施加了 1 个连接的限制。

如何覆盖此默认行为并允许并行处理第二个请求?

提前致谢, 大卫·琼斯

【问题讨论】:

您在哪个平台上运行 Apache2? 你检查过 mod_limitipconn 模块吗? - dominia.org/djao/limitipconn2.html 您看到的绝对是奇怪的行为,因为这通常不会发生。你对配置做了什么奇怪的事情吗? 原发帖者的问题根本与apache无关,而是与php会话有关。尽管如此,我还是建议不要修改标题和帖子,因为其他读者可能会有同样的误解,这有助于他们找到正确的答案。 同意@cornergraf 保留标题。我发现这篇文章是因为我正在搜索 Apache,现在知道它是一个 PHP 问题。 【参考方案1】:

我找到了问题的答案。原来其他人以前也遇到过这个困难:

Simultaneous Requests to PHP Script

关键细节是 PHP 中基于文件的会话导致来自同一客户端的所有请求在队列中按顺序处理,而不是并行处理。

为了解决这个问题,有必要在会话处理完成后立即在每个 PHP 脚本中调用session_write_close()。

-- 大卫·琼斯

【讨论】:

感谢这个问题和答案 - 它对我帮助很大。顺便说一句 - 我通过在同一个浏览器(共享会话)中测试前 2 个选项卡,然后在 2 个不同浏览器(不同会话)中测试 1 个选项卡,验证了基于文件的会话是问题的原因。

以上是关于如何配置 Apache2 以允许来自同一 IP 地址的多个同时连接?的主要内容,如果未能解决你的问题,请参考以下文章

配置 Apache2 httpd.conf 以允许上传文件;使用带有pycurl的python客户端上传

如何配置apache2子域以路由到不同的服务器

如何在 ubuntu 上为 django restful 服务配置 apache2

Apache2 识别我的 IP 地址与我的 IP 地址不同

Apache2.4和Apache2.2访问控制配置语法对比

如何配置 Cups Linux 服务器以仅允许从特定 IP 打印?