2009-07-17 12 views
5

पर वापस 302 प्रतिक्रिया भेजने के बिना आंतरिक रूप से रीडायरेक्ट करें क्या कोई जानता है कि अपाचे को रिवर्स प्रॉक्सी मोड में, बैकएंड से 302 (या 30x) प्रतिक्रियाओं को रोकने या फंसाने के लिए कैसे सर्वर और ग्राहक को 30x प्रतिक्रिया वापस भेजने के बिना आंतरिक रूप से पुनर्निर्देशित? आखिरकार, बैकएंड सर्वर प्रतिक्रिया को रीडायरेक्ट किया जाता है जो बाहर से उपलब्ध नहीं होगा (या अपाचे conf में सूचीबद्ध नहीं है)।रिवर्स प्रॉक्सी मोड अपाचे इंटरसेप्ट या ट्रैप बैकएंड सर्वर से 302 प्रतिक्रियाएं और क्लाइंट


मेरे स्थिति:
मैं web_server_A और web_server_B पोर्ट 6666 और 7777. पर सुन इन बंदरगाहों बाहर से सुलभ नहीं हैं है, लेकिन अंदर से सुलभ हैं।
मैं अंततः web_server_A के व्यवहार को बदल सकता हूं, लेकिन web_server_B में से एक नहीं।
अपाचे बंदरगाहों 80/443, बाहर से सुलभ पर सुन रहा है और एक रिवर्स प्रॉक्सी अनुरोध भेजने के रूप में काम कर रहा है web_server_ को संबोधित {ए, बी} .example.com web_server_ को {ए, बी}

ग्राहक Apache से web_server_A.example.com/foo के लिए पूछता है। अपाचे वेब_सर्वर_ए के अनुरोध को प्रॉक्सी करता है जो कुछ सामान बनाता है और फिर अपाचे को HTTP_sverver_B.example.com/bar/secret_token पर इंगित एक HTTP/302 प्रतिक्रिया भेजता है। अपाचे क्लाइंट को 302 प्रतिक्रिया भेजता है जो तब अपाचे को web_server_B.example.com/bar/secret_token के लिए HTTP अनुरोध भेजता है। अपाचे web_server_B के अनुरोध को प्रॉक्सी करता है, जो कुछ जवाब देता है (आमतौर पर यह कुछ बड़ी फ़ाइल भेजता है)।


मेरे समस्या:
मैं ग्राहक यूआरएल web_server_B.example.com/bar/secret_token के बारे में पता नहीं करना चाहते हैं, और अंत में मैं web_server_B बाहर से सुलभ होने के लिए नहीं करना चाहती।

web_server_A web_server_B पर अनुरोध कर सकता है और फिर 302 उत्तर जारी किए बिना web_server_B से उत्तर वापस भेज सकता है। लेकिन, web_server_B के उत्तर में कुछ समय लग सकता है, शायद काफी बड़ा हो सकता है, और web_server_A को किसी भी अनुरोध पर बहुत अधिक समय नहीं व्यतीत करना चाहिए (इसमें बड़ी फ़ाइलों को संभालने की कोई क्षमता नहीं है)।


तो मैं एक "302 ट्रैपर" विशेषता यह है कि मौजूदा अच्छा होगा के बारे में सोचा है, लेकिन अब तक ऐसा करने के लिए कैसे पर वेब पर कुछ भी निधि नहीं किया है। कोई उपाय?

+4

सर्वर कॉन्फ़िगरेशन प्रश्न शायद serverfault.com पर एक बेहतर उत्तर प्राप्त करेंगे –

उत्तर

0

एक रिवर्स प्रॉक्सी के रूप में, अपाचे "जवाब ब्लॉक" करने में सक्षम नहीं होगा। यह एक सेंसर नहीं है। हालांकि आप इस तरह कुछ लिख सकते हैं।

0

ProxyPassReverse निर्देश का उपयोग करते हुए, web_server_A web_server_B द्वारा भेजे गए स्थान शीर्षलेख को संशोधित करेगा, इसलिए ग्राहक उसके बारे में नहीं जान पाएगा।

अपस्ट्रीम सर्वर से रीडायरेक्ट करने के लिए आप स्थान शीर्षलेख भी संपादित कर सकते हैं। उदाहरण के लिए "शीर्षलेख अनसेट स्थान" दिखाएगा अपाचे डिफ़ॉल्ट 30X त्रुटि पृष्ठ

संबंधित मुद्दे