无法使用Apache 2.4和Chrome加载资源:net :: ERR_CONNECTION_RESET

时间:2016-01-12 21:24:25

标签: apache jetty reverse-proxy httpd.conf mod-jk

我使用Apache 2.4( mod_jk )在反向代理后面使用应用程序。

当我请求某个页面时,它需要永远加载,并且最终不会加载。

经过调查,我发现了一些直接访问时没有的微妙JavaScript错误(没有反向代理)。

进一步研究,结果发现一个特定的 .js 文件无法完成加载,我收到一个客户端错误: ERR_CONNECTION_RESET 且部分加载 .js 文件。

我注意到Apache2和Tomcat都能很好地协同工作,但Apache2和Jetty 7.3之间并非如此。

PS:仅当涉及外部静态IP地址时才会发生此错误。

感觉某处有超时。

以下日志仅与单个 .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

2 个答案:

答案 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的不同浏览器的不同机器上进行测试)!