我们的网络应用程序具有内置搜索功能,用户可以执行复杂搜索。这是我们的软件堆栈:
当用户执行“广泛”查询(查询不能很好地定位并且需要SOLR真正突击)大约30秒后,他们会在屏幕上看到一条错误消息,上面写着“代理错误 ”。显示该错误消息代替显示搜索结果的普通jqGrid表。
我对项目中的每个文件进行了全文搜索,找不到此词组,也找不到“Proxy
”,也没有“proxy
”。
90%的时间这些神秘而难以捉摸的“代理错误”发生在IE8和IE9中,尽管偶尔会在FireFox中发现它们。
由于在我们的代码库中找不到该字符串(或类似的字符串),因此它必须来自这些第三方依赖项之一,并且只是以搜索结果的形式发送回用户。
有没有人见过这些技术之前的行为?这可能是浏览器以某种方式注入DOM的东西吗?我在这里被愚弄并且没时间了。
答案 0 :(得分:0)
50x绝对来自Apache。检查httpd.conf
- 您可能会将时间安排定义为Timeout=blah
。如果定义了此属性,那么当Apache将请求转发给Tomcat时,如果Tomcat花费的时间长于blah
以响应Apache快速失败,并向客户端返回50x,则会将“代理错误”注入响应主体。 / p>
只需删除此超时设置,这会导致现代版本的Apache无限期地等待。至少这样你就不会得到代理错误,虽然不能保证Tomcat会向Apache返回任何内容。