我使用Apache 2.4( mod_jk )在反向代理后面使用应用程序。
当我请求某个页面时,它需要永远加载,并且最终不会加载。
经过调查,我发现了一些直接访问时没有的微妙JavaScript错误(没有反向代理)。
进一步研究,结果发现一个特定的 .js 文件无法完成加载,我收到一个客户端错误: ERR_CONNECTION_RESET 且部分加载 .js 文件。
我注意到Apache2和Tomcat都能很好地协同工作,但Apache2和Jetty 7.3之间并非如此。
感觉某处有超时。
以下日志仅与单个 .js 资源请求相关(导致主要问题的请求)。
的access.log:
client-ip-address - - [13/Jan/2016:15:35:14 +0000] "GET /mifos/webcontent/birt/ajax/lib/prototype.js HTTP/1.1" 200 47603
error.log ( LogLevel debug 和 ProxyHTMLLogVerbose On ):
[Wed Jan 13 15:35:14.688949 2016] [authz_core:debug] [pid 31137:tid 3011484480] mod_authz_core.c(835): [client client-ip-address:53033] AH01628: authorization result: granted (no directives)
[Wed Jan 13 15:35:14.689058 2016] [proxy:debug] [pid 31137:tid 3011484480] mod_proxy.c(1163): [client client-ip-address:53033] AH01143: Running scheme http handler (attempt 0)
[Wed Jan 13 15:35:14.689071 2016] [proxy_ajp:debug] [pid 31137:tid 3011484480] mod_proxy_ajp.c(710): [client client-ip-address:53033] AH00894: declining URL http://server-local-ip-address:8080/mifos/webcontent/birt/ajax/lib/prototype.js
[Wed Jan 13 15:35:14.689083 2016] [proxy:debug] [pid 31137:tid 3011484480] proxy_util.c(2140): AH00942: HTTP: has acquired connection for (server-local-ip-address)
[Wed Jan 13 15:35:14.689093 2016] [proxy:debug] [pid 31137:tid 3011484480] proxy_util.c(2193): [client client-ip-address:53033] AH00944: connecting http://server-local-ip-address:8080/mifos/webcontent/birt/ajax/lib/prototype.js to server-local-ip-address:8080
[Wed Jan 13 15:35:14.689104 2016] [proxy:debug] [pid 31137:tid 3011484480] proxy_util.c(2394): [client client-ip-address:53033] AH00947: connected /mifos/webcontent/birt/ajax/lib/prototype.js to server-local-ip-address:8080
[Wed Jan 13 15:35:14.689158 2016] [proxy:debug] [pid 31137:tid 3011484480] proxy_util.c(2636): AH00951: HTTP: backend socket is disconnected.
[Wed Jan 13 15:35:14.689590 2016] [proxy:debug] [pid 31137:tid 3011484480] proxy_util.c(2771): AH02824: HTTP: connection established with server-local-ip-address:8080 (server-local-ip-address)
[Wed Jan 13 15:35:14.689628 2016] [proxy:debug] [pid 31137:tid 3011484480] proxy_util.c(2923): AH00962: HTTP: connection complete to server-local-ip-address:8080 (server-local-ip-address)
[Wed Jan 13 15:35:15.141686 2016] [proxy:debug] [pid 31137:tid 3011484480] proxy_util.c(2155): AH00943: http: has released connection for (server-local-ip-address)
mod-jk.log (没有什么有趣的,除了一条重复的行):
[Wed Jan 13 15:03:22 2016][30041:3075380928] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 initialized
答案 0 :(得分:1)
在250 Server 2012/2016系统上出现此问题。
2012及以上 - 问题:无法访问NuGet存储库。无法访问Bing.Com。无法访问MSN.Com。某些网站无法正确加载,例如TMobile.com W3Schools
原因 - TCP ECNCapability协议导致Windstream丢弃数据包。 Windstream既不会修复也不会承认这个问题。
修复:在提升的命令提示符下,键入以下命令并按Enter键。 Bing.Com应该立即开始工作。
netsh int tcp set global ecncapability = disabled
答案 1 :(得分:0)
我终于解决了这个问题。
当我遵循@john ktejik的指令时发生了突破:
Failed to load resource under Chrome
我开始意识到所涉及的资源包含在.jar文件中。因此,我不得不告诉Apache2明确使用“ SetOutputFilter INFLATE; proxy-html; DEFLATE ”。
那是我开始取得进展的时候。
由于inflate / deflate指令禁用了某些链接,我不得不将其作为javascript文件的独占权:
“ AddOutputFilterByType DEFLATE application / x-javascript ”。
另外,我需要额外的调整来激活 mod_expires 和 mod_headers ({{3} })。
最后,我宁愿在不同机器上测试之前清除缓存。
显然,问题与缓存过期和静态IP有关,我无法理解。
更重要的是,问题已经解决(在具有静态和动态IP的不同浏览器的不同机器上进行测试)!