我们面临一个问题,我们的 IBM HTTP 服务器返回“400 Bad Request”错误,我们无法找到原因。
该请求是一个 SOAP 请求,应该由 Tibco SOAP 服务提供服务,但该请求没有到达应用程序(应用程序日志中没有相同的日志) - 并且在 HTTP 服务器级别出错。
我们使用的 HTTP 服务器仅作为代理,只是将请求传递给应用程序。
从访问日志:
10.239.12.250 - - [17/Nov/2016:10:23:19 +0000] “POST /OnlineCheck HTTP/1.1”400 - 300 “Java1.7.0_40”300/300021637
当我检查错误日志时:
[2016 年 11 月 17 日星期四 10:28:19] [错误] (70007) 指定的超时已过期:代理:预取请求正文未能从 10.213.123.12 到 [::1]:9876 (temp.adv.com)
从日志中可以看出,在收到请求 5 分钟后返回错误。
需要注意的几点:
该错误仅来自一个客户端(多个客户端使用相同的服务)并且他们使用 OSB/Weblogic 进行负载平衡
这仅发生在 10-20% 的请求中,并且是随机的。负载均衡器再次发送相同的请求(2.5分钟后没有得到任何响应,服务器正常响应)
我想知道是否有任何方法可以捕获错误可能是由于什么原因造成的?400\Bad Request Error 的可能原因是什么?