कृपया, निम्नलिखित चित्र पर एक नज़र डालें।
यह कैसे काम करना चाहिए?
जब दूरस्थ अनुरोध http: // myhost.com:8080/* अनुरोध करता है, तो अनुरोध को http सर्वर पर भेजा जाना चाहिए जो लूपबैक इंटरफ़ेस के पोर्ट 8008 पर सुनता है। यह आसान हिस्सा है।
जब कोई दूरस्थ उपयोगकर्ता http: // myhost.com:8080/specialurl अनुरोध करता है ...
अनुप्रयोग स्तर के प्रवेश द्वार के रूप में कार्य करने वाला कार्यक्रम एक एन्क्रिप्टेड सत्र से कनेक्शन को अपग्रेड करने में सक्षम होना चाहिए ( बंदरगाहों को बदले बिना )
दूरस्थ ब्राउज़र के साथ एक एन्क्रिप्टेड सत्र स्थापित करने के बाद, यह सी प्रोग्राम के अनुरोध को अग्रेषित करना चाहिए जो लूपबैक इंटरफ़ेस के पोर्ट 8000 पर सुनता है
मेरे प्रश्न हैं :
- क्या आपने कभी उत्पादन पर्यावरण पर इस तरह का समाधान तैनात किया है? यदि आपके पास है...
- अनुप्रयोग गेटवे के रूप में कार्य करने के लिए आपने किस उत्पाद का उपयोग किया?
- क्या आप एक कॉन्फ़िगरेशन उदाहरण प्रदान कर सकते हैं?
कठोर प्रतिबंध :
- मेरे पास फ़ायरवॉल पर नियंत्रण नहीं है , और एकमात्र पोर्ट जिसके माध्यम से मैं आंतरिक ट्रैफ़िक में बाहरी ट्रैफ़िक प्राप्त कर सकता हूं 8080 है। पोर्ट संख्या अप्रासंगिक है, बात यह है कि फ़ायरवॉल स्तर पर केवल एक पोर्ट खुला है जो आने वाले समय के लिए है आंतरिक सर्वर के लिए यातायात।
- आंतरिक सर्वर को लिनक्स चलना चाहिए (वर्तमान में यह डेबियन लेन चल रहा है)
- दूरस्थ उपयोगकर्ताओं को इस सर्वर तक पहुंचने के लिए वर्तमान वेब ब्राउज़र और इंटरनेट कनेक्शन से अधिक कुछ नहीं चाहिए। इसका मतलब यह है कि एसएसएच के माध्यम से रिवर्स पोर्ट अग्रेषण यहां एक विकल्प नहीं है।
- मुझे एक ऐसे उत्पाद की आवश्यकता है जिसका उत्पादन में परीक्षण किया गया है और जिसे आसानी से तैनात किया जा सकता है। मैं अपना खुद का एप्लिकेशन गेटवे विकसित नहीं कर रहा हूं (यदि ऐसा होता, तो मुझे लगता है कि मैं यह सवाल सर्वर फाल्ट पर पूछने के बजाय स्टैक ओवरफ्लो में पूछ रहा हूं)।
नरम प्रतिबंध :
- मैं अपाचे को एक एप्लीकेशन गेटवे के रूप में रखने से बचना चाहूंगा (हालांकि मैं ऐसा करने को तैयार हूं कि यदि यह एकमात्र संभव विकल्प है)
- यदि संभव हो, तो एप्लिकेशन गेटवे एक परिपक्व, खुला स्रोत सॉफ़्टवेयर उत्पाद होना चाहिए।
उत्पादों ने अब तक आवेदन गेटवे (सफलता के बिना) की कोशिश की
- nginx
- lighttpd
- पौंड
प्रासंगिक आरएफसी
- RFC2817 (... बताते हैं कि मौजूदा टीसीपी कनेक्शन पर ट्रांसपोर्ट लेयर सिक्योरिटी (टीएलएस) शुरू करने के लिए HTTP / 1.1 में अपग्रेड तंत्र का उपयोग कैसे किया जाता है। यह असुरक्षित और सुरक्षित HTTP ट्रैफ़िक को समान रूप से ज्ञात पोर्ट को साझा करने की अनुमति देता है ...)
- RFC2818 (... बताता है कि इंटरनेट पर HTTP कनेक्शन को सुरक्षित करने के लिए TLS का उपयोग कैसे किया जाता है। वर्तमान प्रथा HTTP पर SSL (TLS के पूर्ववर्ती) को परत करने के लिए है, एक अलग सर्वर पोर्ट के उपयोग से असुरक्षित ट्रैफ़िक से सुरक्षित ट्रैफ़िक को अलग करना ... )