且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

无法加载资源:净:: ERR_CONNECTION_RESET与Apache 2.4和Chrome

更新时间:2022-10-21 14:49:48

我终于解决了这个问题。

突破发生时,我跟着@约翰ktejik的指令:

Failed在Chrome浏览器加载资源

我才明白,所涉及的资源是一个.jar文件内。因此,我不得不告诉的Apache2要明确地使用 SetOutputFilter膨胀;代理HTML; DEFLATE

这时候,我开始做一些进展。

由于充气/放气指令禁用一些链接,我不得不做出它独家的JavaScript文件:

AddOutputFilterByType DEFLATE应用程序/ x-的JavaScript

另外,我需要一个额外的好办法是启动 指定mod_expires mod_headers中(适用的来源)。

最后,我想在不同的机器上测试之前,而清除高速缓存。

显然,问题与缓存过期和静态IP,我不能真正理解。

更重要的是,这个问题就解决了​​(在与静态和动态IP不同的浏览器不同的机器测试)!

I use an application behind a reverse proxy using Apache 2.4 (mod_jk).

When I request some page, it takes forever to load, and won't eventually load at all.

After investigation, I discovered some subtle JavaScript errors that are absent when accessed directly (no reverse proxy).

Delving further, it turned out that a specific .js file wouldn't complete loading, and I get a client side error: ERR_CONNECTION_RESET with a partially loaded .js file.

I noticed that Apache2 and Tomcat both work smoothly together, which is not the case between Apache2 and Jetty 7.3.

PS: This error occurs only when external static IP addresses are involved.

It feels like there is a timeout somewhere.

The logs below are related to a single .js resource request only (the one that causes the major problem).

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 (with LogLevel debug and 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 (nothing interesting except one repeated line ):

[Wed Jan 13 15:03:22 2016][30041:3075380928] [info] init_jk::mod_jk.c (3383): mod_jk/1.2.40 initialized

I've finally solved the issue.

The breakthrough occured when I followed @john ktejik's directives:

Failed to load resource under Chrome

I came to realize that the involved resource was encompassed within a .jar file. Therefore, I had to tell Apache2 to explicitely use "SetOutputFilter INFLATE;proxy-html;DEFLATE".

That's when I started to make some progress.

Since The inflate/deflate directive disables some links, I had to make it exclusive for javascript files:

"AddOutputFilterByType DEFLATE application/x-javascript".

Also, I needed an extra tweak which is to activate mod_expires and mod_headers (source).

Finally, I would rather clear cache before testing in different machines.

Clearly, the problem is related to Cache expiration and Static IP, which I can't really understand.

More importantly, the problem is solved (tested on different machines with different browsers with static and dynamic IP)!