2011-12-09 14 views
7

की ओर इशारा करते पारित मैं 2 अनुप्रयोगों बंदरगाह पर एक अपाचे बिल्ला पर होस्ट 8080 >उपडोमेन प्रॉक्सी सभी एकल सर्वर

  • http://mydomain.com:8080/application1
  • http://mydomain.com:8080/application2

मैं करना चाहते हैं निम्नलिखित व्यवहार के साथ उनमें से दोनों के सामने एक अपाचे प्रॉक्सी चलाने के लिए >

  • http://mydomain.com/* (apache2) -> http://mydomain.com:8080/application1/* (tomcat)
  • http://subdomain.mydomain.com/* (apache2) -> http://mydomain.com:8080/application2/* (tomcat)
सबसे अच्छा मैं अभी मिल गया है अलग आईपी और डोमेन रूटिंग और उप तदनुसार के साथ 2 मशीनों है

आदर्श रूप में मैं अपाचे प्रॉक्सी और 2 क्षुधा एक ही मशीन पर होना चाहता हूँ ...

लात गधा DevOps कौशल के साथ किसी की सहायता कर सकते हैं?

उत्तर

18

@ जोन लिन उत्तर के अतिरिक्त, ProxyPassReverse का उपयोग करने पर विचार करें, बस यदि आपका ऐप कोई रीडायरेक्ट करता है। यह प्रतिक्रियाओं पर अपाचे सही यूआरएल बनाता है (ProxyPassReverse के बारे में अधिक)। यह इस तरह दिखेगा:

<VirtualHost subdomain.mydomain.com:80> 
    ProxyPass/http://localhost:8080/application1/ 
    ProxyPassReverse/http://localhost:8080/application1/ 
</VirtualHost> 

<VirtualHost mydomain.com:80> 
    ProxyPass/http://localhost:8080/application1/ 
    ProxyPassReverse/http://localhost:8080/application1/ 
</VirtualHost> 

मुझे आशा है कि इससे मदद मिलती है।

+0

धन्यवाद दोस्तों ... यह मददगार था – alwinc

+0

अगर हम * 80 रखते हैं तो यह काम करता है लेकिन * नियम से पहले एक विशिष्ट सबडोमेन जोड़ रहा है? – user3779430

+0

नियम से पहले सबडोमेन जोड़ना मेरे लिए इसे तोड़ता है – puk

0

के लिए वर्चुअलहोस्ट config में mydomain.com (Apache), तो आपको subdomain.mydomain.com (Apache) के लिए की जरूरत है

ProxyPassMatch ^/(.*)$ http://mydomain.com:8080/application1/$1 

वर्चुअलहोस्ट config में, आप nede

ProxyPassMatch ^/(.*)$ http://mydomain.com:8080/application2/$1 

दोनों कॉन्फ़िगरेशन फ़ाइलें एक ही मशीन पर और यहां तक ​​कि एक ही फ़ाइल पर होनी चाहिए। यह कैसे सेट है इस पर कुछ उदाहरणों के लिए VirtualHost Examples देखें।

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