2011-02-25 13 views
5

के अंदर एकाधिक सर्वरपैथ निर्देशों का उपयोग करके मैं वर्चुअल होस्ट, dev.company.com बनाने की कोशिश कर रहा हूं, जो कि डोमेन के बाद आने वाले विभिन्न अनुप्रयोगों के आधार पर विभिन्न अनुप्रयोगों के मार्गों को रूट करता है। विशेष रूप से, मैं चाहता हूँ:नामांकित वर्चुअलहोस्ट

  • /जेनकींस - मार्ग के लिए एक जेनकींस सर्वर से
  • /क्षुधा - मार्ग के लिए एक लैंडिंग पृष्ठ के लिए विभिन्न अनुप्रयोगों के लिए लिंक
  • /तिपतिया घास के साथ - मार्ग के लिए एक विशेष जेनकींस के लिए निर्माण रिपोर्ट - http://dev.company.com/jenkins/job/proj-master-clover/clover/
  • /- सब कुछ करना चाहिए एक बिलाव सर्वर

मैं निम्नलिखित config उपयोग कर रहा हूँ करने के लिए मार्ग:

<VirtualHost *:80> 
    ServerName dev.company.com 

    ServerPath /jenkins 
    ProxyPass /jenkins http://easyrider:8080/jenkins 
    ProxyPassReverse /jenkins http://easyrider:8080/jenkins 

    ServerPath /clover 
    Redirect /clover http://dev.company.com/jenkins/job/proj-master-clover/clover/ 

    ServerPath /apps 
    DocumentRoot "/usr/local/sites/developers" 
    <Directory "/usr/local/sites/developers"> 
     DirectoryIndex index.html 
     Options Indexes MultiViews 
    </Directory> 

    ServerPath/
    ProxyPass/http://tomcat_server:8080/ 
    ProxyPassReverse/http://tomcat_server:8080/ 
</VirtualHost> 

http://dev.company.com/jenkins ठीक काम करता है, लेकिन/ऐप्स और/क्लॉवर हमेशा टॉमकैट सर्वर पर रीडायरेक्ट करते हैं। क्या ऐसा करने का सही तरीका है?

उत्तर

8

तो सर्वरपैथ का उपयोग करना ज्यादातर विरासत ब्राउज़र के लिए है। चाल, हालांकि, एक अन्य नाम हो रही है और जहां कैच-ऑल का उपयोग कर रहे पुनर्निर्देशन एक VirtualHost में काम कर रहे हैं: ProxyPass /path ! अंकन

तो मेरा अंतिम:

ProxyPass/<url> 

ProxyPass बता कुछ रास्तों की अनदेखी करने के लिए है VirtualHost इस तरह दिखता है:

<VirtualHost> 
    ServerName dev.company.com 

    ProxyPass /jenkins http://easyrider:8080/jenkins 
    ProxyPassReverse /jenkins http://easyrider:8080/jenkins 

    # Tells ProxyPass to ignore these paths as they'll be handled by Alias and Redirect 
    ProxyPass /clover ! 
    ProxyPass /apps !   

    Redirect /clover http://dev.company.com/jenkins/job/proj-master-clover/clover/ 

    Alias /apps "/usr/local/sites/developers" 
    <Directory "/usr/local/sites/developers"> 
     DirectoryIndex index.html 
     Options Indexes MultiViews 
    </Directory> 


    ProxyPass/http://tomcat_server:8080/ 
    ProxyPassReverse/http://tomcat_server:8080/ 
</VirtualHost> 

और यूआरएल हैं:

http://dev.company.com/jenkins* - will proxy to jenkins http://dev.company.com/jenkins 
http://dev.company.com/apps - will proxy to http://dev.company.com/apps/ 
http://dev.company.com/clover - will redirect to http://dev.company.com/jenkins/job/proj-master-clover/clover/ 
and everything else will go to tomcat at tomcat_server:8080 
संबंधित मुद्दे