मैं 503 त्रुटियों को विशेष रूप से कैश नहीं करने के लिए mod_proxy को कैसे कॉन्फ़िगर कर सकता हूं?


11

यह मेरा mod_proxy config है:

<IfModule mod_proxy.c>
<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass /manage/ http://localhost:9000/manage/
ProxyPassReverse /manage/ http://localhost:9000/manage/
</IfModule>

मुझे लगता है कि जब भी मेरे पास पोर्ट 9000 पर मौजूद दूसरी वेबसाइट सही उत्तर नहीं देती है, मुझे 503 त्रुटियां हो जाती हैं - जो वेबसाइट के ठीक होने के बाद भी बनी रहती हैं। दूसरे शब्दों में, 503 की प्रतिक्रिया कैशेड लगती है।

मैं इसे कैसे निष्क्रिय कर सकता हूं? मुझे नहीं लगता कि मैंने खुद को कैशिंग करने में सक्षम किया है, शायद यह डिफ़ॉल्ट है।


ऐसा लगता है कि मॉड-प्रॉक्सी खुद कोई कैशिंग नहीं करता है। क्या आपने अपना ब्राउज़र कैश चेक किया?
खालिद

@ शेलेड - शेन द्वारा जवाब की जाँच करें।
ripper234

जवाबों:


14

mod_proxy एक अनुत्तरदायी बैकएंड को तब चिह्नित करता है जब यह नीचे लगता है; यदि कोई बैकेंड उपलब्ध नहीं है तो यह 503 के साथ प्रतिक्रिया करता है।

डिफ़ॉल्ट रूप से, 60 सेकंड के लिए एक डाउन बैकेंड को चिह्नित किया जाएगा; जब तक वह समय नहीं बीत जाता, तब तक वह कनेक्शन को वापस नहीं लेगा (और किसी भी कनेक्टिंग क्लाइंट को एक त्रुटि संदेश के साथ उत्तर देता है)।

इसे तुरंत वापस लेने के लिए, retry=0अपने ProxyPassनिर्देश में जोड़ें :

ProxyPass /manage/ http://localhost:9000/manage/ retry=0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.