Échec du chargement de la ressource: net :: ERR_CONNECTION_RESET avec Apache 2.4 et Chrome

J’utilise une application derrière un proxy inverse utilisant Apache 2.4 ( mod_jk ).

Lorsque je demande une page, le chargement prend une éternité et ne se charge plus du tout.

Après enquête, j’ai découvert des erreurs JavaScript subtiles qui sont absentes lors de l’access direct (pas de proxy inverse).

En allant plus loin, il s’est avéré qu’un fichier spécifique .js ne se terminerait pas et que j’obtiens une erreur côté client: ERR_CONNECTION_RESET avec un fichier .js partiellement chargé.

J’ai remarqué qu’Apache2 et Tomcat fonctionnaient parfaitement ensemble, ce qui n’est pas le cas entre Apache2 et Jetty 7.3.

PS: cette erreur se produit uniquement lorsque des adresses IP statiques externes sont impliquées.

On a l’impression qu’il y a un temps mort quelque part.

Les journaux ci-dessous sont liés à une seule demande de ressource .js uniquement (celle qui pose le problème majeur).

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 (avec le débogage LogLevel et 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 (rien d’intéressant sauf une ligne répétée):

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

A eu ce problème sur 250 systèmes de serveur 2012/2016.

2012 et plus – Problème: Impossible d’accéder aux référentiels NuGet. Impossible d’accéder à Bing.Com. Impossible d’accéder à MSN.Com. Certains sites Web ne se chargent pas correctement tels que TMobile.com W3Schools

Cause – Le protocole TCP ECNCapability fait que Windstream supprime les paquets. Windstream ne corrigera ni ne reconnaîtra le problème.

Correction: depuis une invite de commandes élevée, tapez la commande suivante et appuyez sur Entrée. Bing.Com devrait immédiatement commencer à travailler.

netsh int tcp set ecncapability global = désactivé

J’ai finalement résolu le problème.

La percée s’est produite lorsque j’ai suivi les directives de @john ktejik:

Impossible de charger la ressource sous Chrome

Je me suis rendu compte que la ressource impliquée était englobée dans un fichier .jar. Par conséquent, j’ai dû demander à Apache2 d’utiliser explicitement ” SetOutputFilter INFLATE; proxy-html; DEFLATE “.

C’est à ce moment que j’ai commencé à progresser.

Puisque la directive inflate / deflate désactive certains liens, je devais la rendre exclusive pour les fichiers javascript:

AddOutputFilterByType DEFLATE application / x-javascript “.

De plus, j’avais besoin d’un ajustement supplémentaire pour activer mod_expires et mod_headers ( source ).

Enfin, je préfère nettoyer le cache avant de tester sur différentes machines.

Clairement, le problème est lié à l’expiration du cache et à l’adresse IP statique, que je ne peux pas vraiment comprendre.

Plus important encore, le problème est résolu (testé sur différentes machines avec différents navigateurs avec IP statique et dynamic)!