2009-07-21 19 views
16

मैं बंदरगाह 8001 को सुनने और अपाचे बंदरगाह 80 सुन रहा एक गैर अपाचे सर्वर है मैं चाहता हूँ एक निश्चित आभासी डोमेन वास्तव में पोर्ट पर गैर अपाचे सर्वर के द्वारा संचालित किए जाने की 80अपाचे पोर्ट प्रॉक्सी

उदाहरण:

<VirtualHost *:80> 
    Servername example.com 

    # Forward this on to the server on port 8001 
</VirtualHost> 

मैंने सोचा कि मैं इसे इस तरह से mod_proxy और ProxyPass के साथ कर सकता हूं।

ProxyPass * http://www.example.com:8001/ 

लेकिन यह काम नहीं करता है।

+1

आप सर्वरफॉल्ट पर इसके साथ बेहतर भाग्य प्राप्त कर सकते हैं। –

उत्तर

24

ProxyPass * http://www.example.com:8001/

स्टार केवल एक ब्लॉक में मान्य है। फॉरवर्ड स्लैश वह है जो आप चाहते हैं।

ProxyPass/http://www.example.com:8001/ 
ProxyPassReverse/http://www.example.com:8001/ 

रिवर्स प्रॉक्सी सुनिश्चित करता है कि आपके पोर्ट 8001 सर्वर द्वारा भेजे गए रीडायरेक्ट आपके प्रॉक्सी का प्रामाणिक नाम नाम करने के लिए समायोजित कर रहे हैं।

अपाचे मैनुअल में कुछ उदाहरण हैं। http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

+1

यदि आपको आंतरिक सर्वर त्रुटि मिलती है: 'sudo a2enmod proxy' 'sudo a2enmod proxy_http' ' sudo service apache2 पुनरारंभ करें – jaggedsoft

+0

हमें stackoverflow पर mysite.com का उपयोग नहीं करना चाहिए, http://meta.stackexchange.com/ देखें प्रश्न/208,963/क्यों-हैं-कुछ-उदाहरण-यूआरएल की तरह-http साइट कॉम और http-mysite-कॉम-blocke –

4

मैं एक साइट पोर्ट 80 पर अपाचे द्वारा की मेजबानी की मैं भी एक अजगर वेब सर्वर पोर्ट 8880 है, जो http://[mydomainname]/something के माध्यम से एक्सेस की जरूरत पर सुन होता है।

ProxyPass /something http://mydomainname:8880/something 
ProxyPassReverse /something http://mydomainname:8880/something 

अद्यतन

अपने स्थापना, इस सेटअप करने के लिए है करने के लिए एक और भी बेहतर तरीका निर्भर करता है: txyoji के जवाब का उपयोग करना, मैं यह बस इतना की तरह मेरे आभासी मेजबान परिभाषा के लिए एक प्रॉक्सी पास जोड़कर काम कर मिल गया "लोकलहोस्ट" पर एक बंदरगाह के लिए एक प्रॉक्सी पास। मुझे लगता है कि यह थोड़ा और स्पष्ट है कि आप क्या कर रहे हैं, साथ ही अधिक पोर्टेबल। इसके साथ-साथ, आपको उस बंदरगाह पर फ़ायरवॉल भी खोलना नहीं है! आप प्रॉक्सी को किसी भी बंदरगाह पर स्थानीय रूप से पास कर सकते हैं, इसलिए यदि आपको ऐसा करने की ज़रूरत नहीं है तो बाहर की दुनिया को बेनकाब करने का कोई कारण नहीं है। पोर्ट 80 के माध्यम से सबकुछ फनल करें और अपाचे हमेशा "सामने से बाहर चलाएं"। फिर, आप इसकी सुरक्षा के बारे में चिंता कर सकते हैं।

ProxyPass /something http://localhost:8880/something 
ProxyPassReverse /something http://localhost:8880/something 
संबंधित मुद्दे