浏览器/ jQuery代理错误

时间:2012-07-18 12:50:09

标签: java javascript jquery spring-mvc solr

我们的网络应用程序具有内置搜索功能,用户可以执行复杂搜索。这是我们的软件堆栈:

  • 服务器端是Spring MVC,使用Struts / JSP进行视图
  • 客户端JS库是纯jQuery,jqGrid是表
  • Web应用程序打包为WAR并部署到Tomcat 6.0.35容器
  • Apache 2.2.22 Web Server是一个反向代理,为我们的JS提供服务(我知道这不是必需的,但这就是项目交给我们的方式,而不是我们的设计!)
  • 后端已建成&由另一个团队维护,但使用SOLR和Oracle进行上述文本搜索功能

当用户执行“广泛”查询(查询不能很好地定位并且需要SOLR真正突击)大约30秒后,他们会在屏幕上看到一条错误消息,上面写着“代理错误 ”。显示该错误消息代替显示搜索结果的普通jqGrid表。

我对项目中的每个文件进行了全文搜索,找不到此词组,也找不到“Proxy”,也没有“proxy”。

90%的时间这些神秘而难以捉摸的“代理错误”发生在IE8和IE9中,尽管偶尔会在FireFox中发现它们。

由于在我们的代码库中找不到该字符串(或类似的字符串),因此它必须来自这些第三方依赖项之一,并且只是以搜索结果的形式发送回用户。

有没有人见过这些技术之前的行为?这可能是浏览器以某种方式注入DOM的东西吗?我在这里被愚弄并且没时间了。

1 个答案:

答案 0 :(得分:0)

50x绝对来自Apache。检查httpd.conf - 您可能会将时间安排定义为Timeout=blah。如果定义了此属性,那么当Apache将请求转发给Tomcat时,如果Tomcat花费的时间长于blah以响应Apache快速失败,并向客户端返回50x,则会将“代理错误”注入响应主体。 / p>

只需删除此超时设置,这会导致现代版本的Apache无限期地等待。至少这样你就不会得到代理错误,虽然不能保证Tomcat会向Apache返回任何内容。