मैं एक एकल आईपी पते के पीछे कई भौतिक वेब सर्वरों की मेजबानी कैसे कर सकता हूं?


14

मैं अपने घर में कई वेब सर्वर चला रहा हूं, जिनमें से प्रत्येक को मेरे राउटर में प्लग किया गया है।

सर्वर ए सर्वर बी सर्वर सी

मैं वर्तमान में केवल एक सर्वर का उपयोग कर सकता हूं क्योंकि मेरा आईपी (xx.xxx.xx.xx) पोर्ट 80 सर्वर ए की ओर इशारा कर रहा है। हालांकि कुछ डोमेन सर्वर ए, कुछ बी, आदि की ओर इशारा करते हैं।

मेरे एक आईपी पते के साथ, मैं प्रत्येक सर्वर को कैसे इंगित करूं? उदाहरण के लिए मेरा ए (होस्ट) मेरे आईपी पते पर सभी बिंदुओं को दर्ज करता है।

क्षमा करें, अगर मैं भ्रामक लगता हूं। अगर मुझे स्पष्ट नहीं किया जा रहा है तो मुझे बताएं।

प्रत्येक सर्वर Ubuntu Server 12.04.02 चला रहा है और Apache (यदि वह मदद करता है) का उपयोग कर रहा है। मेरा राउटर भी एक नेटगियर है और मेरा आईएसपी टाइम वार्नर केबल है।



@kobaltz बिल्कुल नहीं क्योंकि ये अलग-अलग सर्वर हैं, वर्चुअल होस्ट नहीं। ये 3 भौतिक सर्वर हैं
स्टीफन सियोफी

प्रश्न के भीतर मेरा उत्तर अभी भी वही है जहां आपके पास एक रिवर्स प्रॉक्सी सर्वर होगा जो राउटर के बाद पहली बार हिट होगा। वहां से, यह डेटा को तीन सर्वरों में से एक में धकेल देगा। यदि आप OpenWRT जैसी किसी चीज़ का उपयोग करते हैं, तो आप इसे राउटर के भीतर से भी कर सकते हैं।
कोबाल्टज

मैं वर्तमान में अन्य प्रश्न के उत्तर में स्पष्टीकरण का उपयोग कर रहा हूं। मेरे पास एक वर्चुअल मशीन सर्वर है जिसमें गेटवे के लिए एक वीएम और फिर 20 नोड्स थे। उपडोमेन और डोमेन नाम के आधार पर, यह डेटा को 20 सर्वरों में से एक पर धकेलता है।
कोबाल्टज

जवाबों:


9

Host:ब्राउज़र से भेजे गए हेडर के माध्यम से वेब साइटों को पहचाना जाएगा । लेकिन जब से आपका राउटर वर्चुअल होस्टिंग द्वारा उपयोग किए जाने वाले HTTP डीमंग्लिंग में सक्षम नहीं है, तो आपको एक सर्वर को "एंडपॉइंट" के रूप में चुनना होगा (और अपने राउटर को वर्चुअल सर्वर / डीएमजेड के रूप में पता बताना होगा)।

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

मुझे लगता है कि दूसरा समाधान बेहतर है क्योंकि आपको वेब सर्वर के कॉन्फ़िगरेशन के साथ फिडेल करने की आवश्यकता नहीं है: एक प्रॉक्सी प्रॉक्सी करता है और कई वेब सर्वर वेब सेवा करते हैं। यदि आपको सर्वर को जोड़ने या वर्चुअल होस्ट को चारों ओर ले जाने की आवश्यकता है, तो यह वास्तुकला बनाए रखना आसान है।

                                    +-- virtual hosts 1..9 -- server B
                                    |
router ----- machine A (nginx?) ----+-- virtual hosts 10..23- server C
                                    |
                                    +-- virtual hosts 24..99- server D

अनुरोध की वजह से जोड़ा गया विलंबता दो बार (प्रॉक्सी द्वारा, एक बार उसके इच्छित प्राप्तकर्ता द्वारा) डिकोड किया जा रहा है, नगण्य है, और प्रॉक्सी द्वारा प्रदान किए गए त्वरण द्वारा ऑफसेट से अधिक है।


यदि मैं एक VM अतिथि को प्रॉक्सी के रूप में बनाता हूं, तो उपयोग करने के लिए सबसे अच्छा ओएस क्या है और मुझे कौन से हार्डवेयर संसाधन आवंटित करने चाहिए? आप DMZ पर इस प्रॉक्सी को सेट करने का उल्लेख करते हैं ... क्या यह आवश्यक है? क्या मैं केवल उन बंदरगाहों को आगे नहीं खोल सकता जो मैं खोलना चाहता हूं ताकि राउटर के फ़ायरवॉल और NAT के माध्यम से सुरक्षा की कुछ परत अभी भी है?
रीस

प्रॉक्सी के लिए संसाधन कोई समस्या नहीं है, यह भारी नेटवर्क-बाउंड होगा। ओएस के लिए, मैं निश्चित रूप से, यूनिक्स के लिए एक यूनिक्स कहूंगा जो आप सबसे अधिक आरामदायक हैं। कई वर्चुअलाइजेशन समाधान (vmware, virtualbox, xen, आदि) के लिए तैयार उपकरण भी हैं। और हाँ, आप निश्चित रूप से केवल उन्हीं पोर्ट्स को पोर्ट कर सकते हैं जिनकी आपको आवश्यकता है।
LSerni
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.