我们的 Web 服务器(配置为 ssl -> apache -> jetty)出现问题,随机拒绝分段上传 POST 请求,错误代码为 400 Bad Request。apache 错误日志(信息级别)显示以下两个错误:
[info] [client x1.y1.z1.w1] (70007)The timeout specified has expired: SSL input filter read failed.
[error] proxy: pass request body failed to x.y.z.w:8087 from x1.y1.z1.w1
[info] [client x1.y1.z1.w1] Connection closed to child 74 with standard shutdown
或者
[info] [client x2.y2.z2.w2] (70014)End of file found: SSL input filter read failed.
[error] proxy: pass request body failed to x.y.z.w:8087 from x2.y2.z2.w2
[info] [client x2.y2.z2.w2] Connection closed to child 209 with standard shutdown
这两种情况都来自客户端的 400 错误请求。有时我们的码头服务器甚至没有看到请求意味着它在 apache 端被拒绝,有时它开始处理它只是被拒绝(这在我们的 UploadFilter 中表现为 MultipartException)
我们设置了 mod_proxy 以使用回退负载平衡方案,但日志显示尚未触发回退,导致我相信这不是问题的原因。
我尝试设置 SetEnv proxy-sendcl 1 但这并没有改变任何东西。
上传请求约为 1mb。只有这些多部分文件 POST 请求失败,我们有多个 GET 请求同时进入,它们总是按预期工作。
如果有人可以分享任何意见或建议,我将非常感激!谢谢