Risposta proxy_pass di Nginx troncata


9

Uso nginx per inoltrare la richiesta https al mio server delle applicazioni (attualmente in esecuzione su 8443).
Questo server di app serve pagine dinamiche, alcune delle quali inclusa jquery minimizzata.
Le pagine sono in errore poiché sembra che jquery sia troncato ... esiste un limite di dimensione del file o qualcosa del genere?

La mia conf nginx è la seguente:

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
Controlla il registro degli errori. Dovrebbe dirti perché tutte le connessioni sono state chiuse in anticipo.
kolbyjack,

Perché non lasci che nginx serva file statici come jquery.js?
VBart

Risposte:


8

So che questa domanda è super vecchia, ma ho appena incontrato lo stesso problema. Assicurarsi che l'utente che sta eseguendo nginx abbia i privilegi di scrittura nella directory proxy_temp. Se stai fornendo una risposta più ampia attraverso il tuo server proxy che non può essere conservata in proxy_buffers, il resto dei dati di risposta viene scritto sul disco nella directory proxy_temp. Se non è possibile a causa di privilegi inadeguati (o qualcos'altro, ad esempio spazio su disco), la risposta viene troncata.

Un modo semplice per dirlo è che il problema è quello di svuotare la cache del browser e ricaricare la pagina con gli strumenti di sviluppo di Chrome aperti. Trova il file troncato nella scheda di rete e se la dimensione corrisponde alla dimensione del buffer proxy (64k nel tuo caso), è probabile che nginx abbia problemi con la scrittura su disco.

Maggiori informazioni sul nginx proxy_temp_path: http://wiki.nginx.org/HttpProxyModule#proxy_temp_path


1
La tua risposta mi ha ispirato a risolvere un problema simile
Tyler Long,

0

Se nei registri di accesso viene visualizzato il codice di ritorno 304 (Non modificato) per il file troncato, provare a svuotare la cache del browser. Sfortunatamente, non sono riuscito a trovare un modo per 'risolvere' questo problema dalla configurazione di nginx.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.