Nginx प्रॉक्सी_पास प्रतिक्रिया को छोटा कर दिया गया


9

मैं अपने एप्लिकेशन सर्वर (वर्तमान में 8443 पर चल रहा है) से प्रॉक्सी https अनुरोध के लिए nginx का उपयोग करता हूं।
यह ऐप सर्वर डायनेमिक पेजों पर कार्य करता है, इनमें से कुछ में jquery के नाम शामिल हैं।
पृष्ठ त्रुटि में हैं क्योंकि ऐसा लगता है कि jquery को काट दिया गया है ... क्या फ़ाइल आकार सीमा या कुछ और है?

मेरा नग्नेक्स आत्मविश्वास निम्नलिखित है:

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
अपनी त्रुटि लॉग की जाँच करें। यह आपको बताना चाहिए कि किसी भी कनेक्शन को जल्दी बंद क्यों किया गया।
कोलबिजैक

आप nginx को jquery.js जैसी स्थिर फ़ाइलों की सेवा करने की अनुमति क्यों नहीं देते हैं?
VBart

जवाबों:


8

मुझे पता है कि यह सवाल सुपर पुराना है, लेकिन मैं सिर्फ एक ही मुद्दे में भाग गया। सुनिश्चित करें कि आप जिस उपयोगकर्ता के लिए nginx चला रहे हैं, वह प्रॉक्सी_temp निर्देशिका में विशेषाधिकार लिख रहा है। यदि आप अपने प्रॉक्सी सर्वर के माध्यम से एक बड़ी प्रतिक्रिया दे रहे हैं जो सभी को आपके प्रॉक्सी_बफर्स ​​में आयोजित नहीं किया जा सकता है, तो बाकी की प्रतिक्रिया डेटा आपके प्रॉक्सी_टैप निर्देशिका में डिस्क पर लिखी जाती है। यदि यह अपर्याप्त विशेषाधिकार (या कुछ और, अर्थात डिस्क स्थान) के कारण नहीं हो सकता है, तो प्रतिक्रिया कम हो जाती है।

यह बताने का एक आसान तरीका यह है कि यह मुद्दा आपके ब्राउज़र के कैश को साफ़ करना है, और क्रोम डेवलपर टूल के साथ पृष्ठ को फिर से लोड करना है। नेटवर्क टैब में छंटनी की गई फ़ाइल का पता लगाएं, और यदि आकार आपके प्रॉक्सी बफर आकार (आपके मामले में 64k) से मेल खाता है, तो nginx में डिस्क पर लिखने की समस्या है।

Nginx प्रॉक्सी_temp_path पर अधिक जानकारी: http://wiki.nginx.org/HttpProxyModule#proxy_temp_path


1
आपके उत्तर ने मुझे इसी तरह की समस्या को हल करने के लिए प्रेरित किया
टायलर लॉन्ग

0

यदि आप लॉग इन करते हैं, तो आप काटे गए फ़ाइल के लिए रिटर्न कोड 304 (संशोधित नहीं) देख रहे हैं, ब्राउज़र के कैश को साफ़ करने का प्रयास करें। दुर्भाग्य से, मैं इसे nginx config से 'ठीक' करने का कोई तरीका नहीं खोज सका।


-1

डिफ़ॉल्ट रूप से इसका 1G है:

http://wiki.nginx.org/HttpProxyModule#proxy_max_temp_file_size

जैसे @kolbyjack ने कहा, त्रुटि में शायद गलतियाँ हैं।


2
यह सिर्फ अधिकतम आकार को परिभाषित करता है एक अस्थायी फ़ाइल हो सकती है। यदि यह सब बफ़र नहीं किया जा सकता है, तो नगनेक्स एक प्रतिक्रिया को कम नहीं करेगा, इसे अपस्ट्रीम से सिंक्रोनाइज़ किया जाएगा।
kolbyjack 12
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.