Odpowiedź Nginx proxy_pass została obcięta


9

Używam nginx do proxy żądania https do mojego serwera aplikacji (obecnie działającego pod 8443).
Ten serwer aplikacji obsługuje strony dynamiczne, niektóre z nich zostały ograniczone do jquery.
Strony są błędne, ponieważ wygląda na to, że jquery jest obcięte ... czy istnieje limit rozmiaru pliku czy coś takiego?

Mój nginx conf jest następujący:

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
Sprawdź swój dziennik błędów. Powinien ci powiedzieć, dlaczego jakiekolwiek połączenia zostały wcześniej zamknięte.
kolbyjack

Dlaczego nie pozwalasz nginxowi obsługiwać plików statycznych, takich jak jquery.js?
VBart

Odpowiedzi:


8

Wiem, że to pytanie jest bardzo stare, ale właśnie natknąłem się na ten sam problem. Upewnij się, że użytkownik, z którego korzystasz nginx as, ma uprawnienia do zapisu w katalogu proxy_temp. Jeśli serwujesz większą odpowiedź za pośrednictwem serwera proxy, które nie mogą być wszystkie przechowywane w buforach proxy_buff, reszta danych odpowiedzi zostanie zapisana na dysku w katalogu proxy_temp. Jeśli nie może z powodu nieodpowiednich uprawnień (lub czegoś innego, np. Miejsca na dysku), odpowiedź zostaje obcięta.

Łatwy sposób to stwierdzić, że problemem jest wyczyszczenie pamięci podręcznej przeglądarki i ponowne załadowanie strony przy otwartych narzędziach programistycznych Chrome. Znajdź obcięty plik na karcie sieci, a jeśli rozmiar odpowiada rozmiarowi bufora proxy (w twoim przypadku 64k), prawdopodobnie problem z zapisywaniem na dysk ma nginx.

Więcej informacji o ścieżce proxy_temp_pemp nginx: http://wiki.nginx.org/HttpProxyModule#proxy_temp_path


1
Twoja odpowiedź zainspirowała mnie do rozwiązania podobnego problemu
Tyler Long

0

Jeśli w dziennikach dostępu widzisz kod powrotu 304 (niezmodyfikowany) dla obciętego pliku, spróbuj wyczyścić pamięć podręczną przeglądarki. Niestety nie mogłem znaleźć sposobu na „naprawienie” tego z konfiguracji nginx.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.