Réponse Nginx proxy_pass tronquée


9

J'utilise nginx pour proxy la demande https à mon serveur d'applications (en cours d'exécution sur 8443).
Ce serveur d'application sert des pages dynamiques, certaines d'entre elles comprenant jquery minified.
Les pages sont en erreur car il semble que jquery soit tronqué ... y a-t-il une limite de taille de fichier ou quelque chose?

Ma conf nginx est la suivante:

server {
listen      443;
server_name my_serv.com;
ssl                 on;
ssl_certificate     certificate.pem;
ssl_certificate_key privatekey.pem;

keepalive_timeout 70;

location / {
  proxy_pass https://localhost:8443;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_buffering off;
  proxy_buffers 8 8k;
}
}

2
Vérifiez votre journal des erreurs. Il devrait vous expliquer pourquoi les connexions ont été fermées tôt.
kolbyjack

Pourquoi ne laissez-vous pas nginx servir des fichiers statiques comme jquery.js?
VBart

Réponses:


8

Je sais que cette question est super ancienne, mais je viens de rencontrer le même problème. Assurez-vous que l'utilisateur avec lequel vous exécutez nginx a des privilèges d'écriture dans le répertoire proxy_temp. Si vous fournissez une réponse plus importante via votre serveur proxy qui ne peut pas toutes être conservées dans vos proxy_buffers, le reste des données de réponse est écrit sur le disque dans votre répertoire proxy_temp. Si cela ne peut pas en raison de privilèges inadéquats (ou autre chose, par exemple de l'espace disque), la réponse est tronquée.

Un moyen facile de le savoir est que le problème est de vider le cache de votre navigateur et de recharger la page avec les outils de développement Chrome ouverts. Recherchez le fichier tronqué dans l'onglet réseau et si la taille correspond à la taille de votre tampon proxy (64 Ko dans votre cas), alors nginx a probablement des problèmes d'écriture sur le disque.

Plus d'informations sur le nginx proxy_temp_path: http://wiki.nginx.org/HttpProxyModule#proxy_temp_path


1
Votre réponse m'a inspiré pour résoudre un problème similaire
Tyler Long

0

Si, dans les journaux d'accès, vous voyez le code retour 304 (non modifié) pour le fichier tronqué, essayez de vider le cache du navigateur. Malheureusement, je n'ai pas trouvé de moyen de «corriger» cela à partir de la configuration de nginx.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.