Nginx में उपडोमेन के आधार पर विभिन्न स्थानों पर प्रॉक्सी को कैसे रिवर्स करें?


15

मेरे पास कई उप-डोमेन हैं, सभी एक मशीन और एक आईपी पते की ओर इशारा करते हैं। इस मशीन पर, मैं nginx को एक रिवर्स प्रॉक्सी के रूप में अभिनय करना चाहता हूं, और इस पर निर्भर करता है कि मशीन को एक्सेस करने के लिए उपडोमेन का उपयोग किया गया था या नहीं, मैं चाहता हूं कि यह किसी भिन्न सर्वर पर प्रॉक्सी को उल्टा कर दे। मैंने सभी उदाहरणों को मैंने nginx को एक रिवर्स प्रॉक्सी उपयोग के रूप में उपयोग करने के लिए देखा है location, लेकिन जैसा कि मैं समझता हूं कि केवल पथ के लिए काम करता है, विभिन्न उप-वर्गों के लिए नहीं। मैं जो चाहता हूं उसे कैसे हासिल कर सकता हूं?


2
यह थोड़ा व्यापक हो सकता है। क्या आपने जो पहले से कोशिश की है, उसके बारे में अधिक पोस्ट कर सकते हैं?
होगा

जवाबों:


28

जब तक मैं आपके प्रश्न को पूरी तरह से गलत नहीं करता: आप बस प्रत्येक उप-डोमेन के लिए सर्वर ब्लॉक सेट करते हैं और उस उपडोमेन की जड़ के लिए सही रिवर्स प्रॉक्सी को परिभाषित करते हैं अर्थात कुछ की तर्ज पर:

 server {
        server_name subdomain1.example.com;
        location / {
            proxy_pass       http://hostname1:port1;
        }
 }
 server {
        server_name subdomain2.example.com;
        location / {
            proxy_pass       http://hostname2:port2;
        }
 }

देर से प्रतिक्रिया के लिए खेद है, लेकिन मैं इसे काम कर रहा हूँ!
1

3

उसी तरह बहुत सुंदर।

location /foo {
    rewrite ^/foo(.+)$ /$1 break;
    proxy_pass http://foo;
}

location /bar {
    rewrite ^/bar(.+)$ /$1 break;
    proxy_pass http://bar;
}

1
यह वही नहीं था जिसकी मुझे तलाश थी। स्वीकृत उत्तर देखें
markasoftware

1
चबाना और पचाना आवश्यक बोझ है, मेरा नहीं।
drookie
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.