点击链接后网站冻结 - 无法解释的 ACK 数据包

点击链接后网站冻结 - 无法解释的 ACK 数据包

我们有一个零星的访问网站上的某些内部链接时出现问题。(Windows Firefox、Internet Explorer、Chrome)

行为
第一次点击链接时,浏览器会无限加载。第二次点击同一个链接时,浏览器就会加载成功。

客户
我们在客户端运行的是 Windows 7,并且已经尝试了不同的浏览器(IE11、Firefox 和 Chrome)。Avira Antivirus 在这些客户端上启用了其浏览器安全插件。

Web 服务器
该服务器运行 Debian Jessie、Apache 2.4.10 和 Joomla。

分析网络跟踪
当我们使用 wireshark 跟踪连接时,我们发现 Web 服务器未能对客户端发送的确认做出反应,然后发送了一个 FIN 包,但客户端忽略了该包。客户端继续使用由服务器完成的相同 TCP 连接。

Network-Trace: (all captured within a single tcp session)
1. Client sends ACK
2. Server recieves ACK
3. Server sends FIN-package after 5 seconds
4. Client recieves FIN-package
5. Client ignores FIN-package and continues to send data
6. Server recieves data, sends ACK-package, but no answer on the data
7. The browser session freezes

avira 插件
目前我们知道的是,如果我们禁用 Avira 的浏览器安全插件或排除 URL 监控,则不会发生错误。Avira 已确认该错误,但无法告诉我们何时修复。

问题
无论如何,问题只发生在web 服务器,所有其他 web 服务器均不受影响。

因此它会受到 Web 服务器上的配置的影响。

我想问一下到目前为止是否有人遇到过类似的错误?

另一个问题是,是否存在有关 Apache 或 TCP 堆栈的设置来禁用 ACK(第 6 点),但这似乎是不正确的。

编辑
typo3 网站也受到了影响。

解决方法:将 apache 上的 keepalive 从 5 秒增加到 90 秒后,错误不再发生。(但我们希望避免如此高的 keepalive)

相关内容