अपाचे VirtualHost प्रॉक्सी एक उपनिर्देशिका के साथ


13

वर्तमान में, हमारे पास हमारे प्राथमिक वेब सर्वर के रूप में एक IIS सर्वर है। हम एक अपाचे सर्वर को इसके स्थान पर लागू कर रहे हैं, लेकिन अभी भी IIS सर्वर को सुलभ होना चाहिए। आमतौर पर, यह एक साधारण बात है, क्योंकि Apache2 इस सर्वर के लिए एक उपडोमेन को प्रॉक्सी कर सकता है।

हालाँकि, हमारी समस्या यह है: हम IIS सर्वर पर dotnetCharting का उपयोग कर रहे हैं, और लाइसेंसिंग डोमेन नाम से जुड़ा हुआ है। डॉटनेटचार्जिंग को काम पर लाने के लिए, एक और लाइसेंस खरीदना होगा।

मेरा सवाल है, Apache2 प्रॉक्सी एक उपनिर्देशिका कर सकता है? उदाहरण के लिए, 'www.example.com/subdir' IIS सर्वर को इंगित कर सकता है? ऐसा लगता है कि यह असंभव नहीं होना चाहिए, लेकिन मैं इसके लिए कोई समाधान नहीं ढूंढ सकता हूं।

जवाबों:


19

ज़रूर। लेकिन सावधान रहना; बहुत सारे वेब एप्लिकेशन उनके URL पथ परिवर्तन के लिए अच्छी तरह से डिज़ाइन नहीं किए गए हैं। क्या वर्तमान में उप-निर्देशिका में आवेदन का उपयोग किया जाता है?

# You'll probably want this to maintain the host mapping in IIS
ProxyPreserveHost On
# Swap in the IP address or internal host name of your IIS server:
ProxyPass /subdir/ http://192.0.2.100/subdir/

या, यदि आप URL पथ में परिवर्तन कर रहे हैं, तो यह ध्यान में रखते हुए कि संसाधनों के लिए निरपेक्ष पथ (CSS, जावास्क्रिप्ट, चित्र) के कारण बहुत सारे अनुप्रयोगों में समस्याएँ होंगी:

ProxyPass /subdir/ http://192.0.2.100/
ProxyPassReverse /subdir/ http://192.0.2.100/

उत्तम! इसने मेरी परीक्षा के माहौल में छल किया। अभी, आंतरिक रूप से, आप सर्वर के आईपी पते को दर्ज कर सकते हैं और सर्वर को प्राप्त करने के लिए हमारे आंतरिक प्रॉक्सी का उपयोग कर सकते हैं, और सब कुछ (डॉटनेटचारिंग को छोड़कर) पूरी तरह से काम करता है, इसलिए जब हम इस पद्धति के साथ प्रॉक्सी करते हैं, तो मुझे आवेदन के विफल होने की उम्मीद नहीं है। बहुत सराहना की!
सुपरजापर

1
मुझे (इस तरह :) /से पीछे हटना पड़ा । अन्यथा यदि एक आवेदन त्रुटि (500) में परिणाम। यह सही ढंग से प्रॉक्सी होगा यदि स्लैश को शामिल किया गया था ( ), लेकिन यह वह प्रभाव नहीं है जिसकी मुझे तलाश थी। subdir/subdirdomain.com/subdirdomain.com/subdir/
OneHoopyFrood

2

ज़रूर।

  1. Mod_proxy mod_proxy_http सक्षम करें
  2. अपने Apache VHost में निम्नलिखित निर्देश सेट करें

    ProxyPass /subdir http://iis.server/.../
    ProxyPassReverse /subdir http://iis.server/.../
    

ध्यान दें अंतिम "/" अनिवार्य है।

अधिक जानकारी के लिए: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html


0

अंतिम स्लैश अंत में अनिवार्य नहीं है। मैंने इसे इस तरह सेटअप किया था

ProxyPass /dir http://exmpale.com/dir/ 

ProxyPassReverse /dir http://exmpale.com/dir/ 

और शीर्ष स्तर पर काम किया, लेकिन मुख्य के नीचे उपविभागों में eveyrything नहीं किया।

मैंने इसे इसे बदल दिया और सब कुछ काम कर गया।

गलत सूचना के लिए धन्यवाद !!!

ProxyPass /dir http://exmpale.com/dir

ProxyPassReverse /dir http://exmpale.com/dir

1
लोग इसे कम क्यों करते हैं? यह वास्तव में मेरे पास समस्या थी। आपको या तो स्लैश के साथ दोनों उरलों को खत्म करना होगा या स्लैश के बिना दोनों उरोज़ों को छोड़ना होगा ... कम से कम मेरे लिए यह उप निर्देशिकाओं में आने पर मदद की;)
जननिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.