Apache HTTPD 服务器间歇性地从 post 数据中删除一个项目

Apache HTTPD server is intermittently dropping a single item from post data

我在任何搜索中都没有找到这个问题。我也在 Apache 论坛上 post 编辑了这个问题,但到目前为止还没有成功。

我在 JBoss 应用程序服务器 (EAP 6.2) 上有一个应用程序,它前面有一个 Apache 2.2.26 服务器作为 HTTPS 的反向代理。该应用程序有一个大型的多部分表单,最近一直在间歇性地从 post 数据中删除单个表单字段(并不总是相同的字段)。我们已验证所有数据都已发送,但应用程序未接收到。如果我们直接向 JBoss 服务器(测试服务器)发送 HTTP 请求,则不会出现此问题。我们重复发送相同的表单数据,有时会删除一个表单字段(并不总是相同的字段),有时则不会。但是,它经常发生,很容易重复。该问题发生在 Internet Explorer 和 Firefox 上,因此似乎与浏览器无关。发送的数据量各不相同,但通常在 10-30 KB 范围内。即使在调试级别记录时,Apache 服务器日志中也没有出现任何错误。

另外一点信息是,由于这是一个多部分表单,浏览器在提交时包含每个表单字段和文件之间的边界值。我们注意到此边界值的大小会发生变化,并且丢失的表单数据会根据发送相同表单数据时边界值的大小而变化。

任何关于可能导致此数据丢失的想法将不胜感激。

更新:此问题类似于为 Apache 2.0.55 和 2.2.2 报告的旧错误,link

更新:了解如何监控在 JBoss ajp 端口接收到的字节数。从浏览器发送的相同数量的字节到达 ajp 端口。这可能是块编码问题吗?

原来这个问题与SLL协议有关。我们使用的是 TLSv1,最近更改为 TLSv1.2。协议升级后问题消失了。因此,我们在测试环境中改回了 TLSv1。问题又出现了。然后我们更改为 TLSv1.2,问题就消失了。

不知道为什么协议更改解决了这个问题,但我知道 TLSv1.2 进行了相当大的更改。此时很高兴协议升级解决了这个问题。