Nginx proxy_pass yanıtı kesildi


9

Uygulama sunucuma https isteğini proxy yapmak için nginx kullanıyorum (şu anda 8443'te çalışıyor).
Bu uygulama sunucusu, bazıları jquery de dahil olmak üzere dinamik sayfalar sunar.
Sayfalar hatalı görünüyor jquery kesilmiş gibi görünüyor ... dosya boyutu sınırı falan var mı?

Benim nginx conf aşağıdaki biridir:

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
Hata günlüğünüzü kontrol edin. Herhangi bir bağlantının neden erken kapatıldığını söylemelidir.
kolbyjack

Neden nginx'in jquery.js gibi statik dosyaları sunmasına izin vermiyorsunuz?
VBart

Yanıtlar:


8

Bu sorunun çok eski olduğunu biliyorum, ama aynı sorunla karşılaştım. Nginx'i çalıştırdığınız kullanıcının proxy_temp dizinine yazma ayrıcalıklarına sahip olduğundan emin olun. Proxy sunucunuz üzerinden proxy_buffers'ınızda tutulamayan daha büyük bir yanıt sunuyorsanız, yanıt verilerinin geri kalanı proxy_temp dizininizdeki diske yazılır. Yetersiz ayrıcalıklar (veya başka bir şey, yani disk alanı) nedeniyle yapamazsa, yanıt kesilir.

Bunu söylemenin kolay bir yolu, sorunun tarayıcı önbelleğinizi temizlemek ve sayfayı Chrome geliştirici araçları açık olarak yeniden yüklemektir. Ağ sekmesinde kesilmiş dosyayı bulun ve boyut proxy arabellek boyutunuzla (sizin durumunuzda 64k) eşleşiyorsa, nginx muhtemelen diske yazarken sorun yaşıyor demektir.

Nginx proxy_temp_path hakkında daha fazla bilgi: http://wiki.nginx.org/HttpProxyModule#proxy_temp_path


1
Cevabınız bana benzer bir sorunu çözmem için ilham verdi
Tyler Long

0

Erişim günlüklerinde kesilmiş dosya için dönüş kodu 304 (Değiştirilmedi) görüyorsanız, tarayıcının önbelleğini temizlemeye çalışın. Ne yazık ki, bunu nginx yapılandırmasından 'düzeltmenin' bir yolunu bulamadım.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.