Apache Mod_proxy के URL को कैसे छोड़ें?


23

हमारे पास दो-अपाचे सर्वर हैं जैसे फ्रंट-एंड और 4 टॉमकैट सर्वर, जो बैक-एंड के रूप में मॉड_प्रोक्सी मॉड्यूल लोड बैलेंसर के रूप में कॉन्फ़िगर किया गया है। अब, हम mod_proxy लोड बैलेंसर से एक एकल टॉमकट यूआरएल को बाहर करना चाहते हैं। क्या बाहर करने का कोई तरीका या नियम है?

प्रॉक्सी बैलेंसर सेटिंग:

<Proxy balancer://backend-cluster1>
   BalancerMember http://10.0.0.1:8080 loadfactor=1 route=test1 retry=10
   BalancerMember http://10.0.0.2:8080 loadfactor=1 route=test2 retry=10
</Proxy>

जवाबों:


39

आप अपने पूर्ण प्रॉक्सी स्टेटमेंट से पहले एक विस्मयादिबोधक चिह्न (!) के साथ mod_proxy से रास्तों को बाहर करते हैं, जो कि आपका नमूना गायब है - यह कुछ ऐसा दिखाई देगा ProxyPass /path balancer://backend-cluster1। इसलिए, एक पथ को बाहर करने के लिए, जोड़ें:

ProxyPass /my/excluded/path !

से पहले

ProxyPass /my balancer://backend-cluster1

लेकिन प्रॉक्सी के पीछे एक्सेस करने के लिए यूआरएल
मुगिल

धन्यवाद fuzzyfelt, मैं पूछ रहा हूं कि अगर हम प्रॉक्सी बैलेंसर को कॉन्फ़िगर करते हैं तो यूआरएल को बाहर कैसे करें। मैंने प्रश्न में प्रॉक्सी विन्यास को शामिल किया है
मुगिल

1
अद्यतन उत्तर देखें। समाप्‍त करने के लिए कौन सा पथ परिभाषित करें, इससे पहले एक बहिष्करण जोड़ें।
एलिस्टर मैकरमैक

2
इस उत्तर का उपयोग करते हुए LetsEncrypt को एक वर्चुअल सर्वर के लिए डिफ़ॉल्ट .well- ज्ञात फ़ोल्डर स्थान में अनुमति देने के लिए बहुत अच्छा काम किया, जब वहाँ एक चैट सर्वर दिखाने के लिए ProxyPass का उपयोग किया जाता है। अन्य निर्देशों से पहले जोड़ें: ProxyPass /.well- परिचित!
प्रोफेसर फाकलेन

2

एलेस्टेयर मैककॉर्मैक उत्तर के अलावा: यदि आप उपयोग करते हैं <Location>, तो आपको पहले के बजाय नीचे अपवाद डालने की आवश्यकता है:

<Location /my/>
    ProxyPass balancer://backend-cluster1
</Location>

<Location /my/excluded/path/>
    ProxyPass !
</Location>

-2

आप प्रॉक्सी निर्देशों के ऊपर एक फिर से लिख सकते हैं जो उपयोगकर्ताओं को 404 त्रुटि देगा जब वे उस यूआरएल को एक्सेस करने की कोशिश करेंगे जिसे आप बाहर करना चाहते हैं। आपको rewrite_module को सक्षम करने की आवश्यकता होगी।

<Location ~ ^/urltoblock($|/)>
   RewriteEngine On 
   RewriteRule .* - [L,R=404]
</Location>

उन्होंने 404 त्रुटि चाहने के बारे में कुछ नहीं कहा।
user207421
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.