web-dev-qa-db-fra.com

Javascript ne se charge pas à cause du net :: ERR_CONTENT_LENGTH_MISMATCH

J'ai une application qui fonctionne bien localement, mais qui est en production. (Problème classique, non?)

En production, le JS ne tire pas correctement. Lorsque j'ouvre la console du navigateur, je vois cette erreur:

net::ERR_CONTENT_LENGTH_MISMATCH

Lorsque je regarde dans l'onglet réseau des outils de développement, cela montre qu'il a échoué lors d'une requête GET pour text/html.

C'est une erreur cryptique. Je n'ai trouvé que deux autres SO messages qui mentionnent même est et ils ne sont pas résolus. (Pour les intéressés: premier message et deuxième message )

Une idée (1) ce que cela signifie ou (2) comment le résoudre?

33
Ben Downey

Je reçois une erreur: net :: ERR_CONTENT_LENGTH_MISMATCH

Jetez un œil aux journaux de votre serveur pour déterminer quel est le vrai problème.

Pour moi, le problème se situe quelque part entre nginx et les autorisations de fichier:

  • tail -f /usr/local/var/log/nginx/error.log ou exécutez nginx -t pour déterminer votre emplacement de configuration, où vous pouvez spécifier un chemin de journal personnalisé.
  • actualisez l'actif dans votre navigateur, par exemple http://localhost:3000/assets/jquery/jquery.js

Vous pouvez voir quelque chose comme ça dans les journaux:

"/ usr/local/var/run/nginx/proxy_temp/9/04/0000000049" a échoué (13: autorisation refusée) lors de la lecture en amont du fichier xyz

Voici comment j'ai corrigé:

Sudo nginx -s stop
Sudo rm -rf /usr/local/var/run/nginx/*
Sudo nginx
34
lfender6445

Selon ce rapport de bogue , cette erreur se produit lorsqu'une longueur de ressource externe ne correspond pas à l'en-tête Content-Length donné dans la réponse.

Cela peut se produire en raison d'un serveur mal configuré, ou (comme un tronçon) peut-être que certains caractères de nomenclature ont été placés dans le fichier, ou peut-être même des fins de ligne différentes (écrivez-vous sur une machine DOS et déployez-vous sur une machine UNIX?) Peut provoquer des problèmes .

J'espère que cela t'aides.

6
omghaxzs

J'ai rencontré un problème similaire [crit] 6889 # 0: * 14817 open () "/ var/cache/nginx/proxy_temp/3/02/0000000023" a échoué (13: autorisation refusée) lors de la lecture en amont

c'est parce que le processus de travail Nginx n'a pas pu accéder au dossier/var/cache/nginx/proxy_temp/- Je viens de changer les autorisations du dossier et tout a commencé à fonctionner

1
JRomio

J'ai eu un problème similaire en essayant d'interpréter les résultats JSON. Il s'est avéré que quelque part le long de la ligne, un personnage étrange a atterri dans la base de données - dans ce cas, le coupable était "â ??". La façon dont cette valeur est arrivée dans la base de données n'est pas claire, mais elle est probablement liée à problèmes d'encodage HTML - le caractère "Â" apparaît au lieu de "nbsp;" Dans les deux cas, après avoir supprimé les caractères impairs, le problème a été résolu.

1
Gert