एकल पोर्ट के माध्यम से एन्क्रिप्टेड और अनएन्क्रिप्टेड http कनेक्शन को कैसे संभालना है


10

कृपया, निम्नलिखित चित्र पर एक नज़र डालें।

वैकल्पिक शब्द

यह कैसे काम करना चाहिए?

  • जब दूरस्थ अनुरोध http: // myhost.com:8080/* अनुरोध करता है, तो अनुरोध को http सर्वर पर भेजा जाना चाहिए जो लूपबैक इंटरफ़ेस के पोर्ट 8008 पर सुनता है। यह आसान हिस्सा है।

  • जब कोई दूरस्थ उपयोगकर्ता http: // myhost.com:8080/specialurl अनुरोध करता है ...

    • अनुप्रयोग स्तर के प्रवेश द्वार के रूप में कार्य करने वाला कार्यक्रम एक एन्क्रिप्टेड सत्र से कनेक्शन को अपग्रेड करने में सक्षम होना चाहिए ( बंदरगाहों को बदले बिना )

    • दूरस्थ ब्राउज़र के साथ एक एन्क्रिप्टेड सत्र स्थापित करने के बाद, यह सी प्रोग्राम के अनुरोध को अग्रेषित करना चाहिए जो लूपबैक इंटरफ़ेस के पोर्ट 8000 पर सुनता है

मेरे प्रश्न हैं :

  1. क्या आपने कभी उत्पादन पर्यावरण पर इस तरह का समाधान तैनात किया है? यदि आपके पास है...
  2. अनुप्रयोग गेटवे के रूप में कार्य करने के लिए आपने किस उत्पाद का उपयोग किया?
  3. क्या आप एक कॉन्फ़िगरेशन उदाहरण प्रदान कर सकते हैं?

कठोर प्रतिबंध :

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

नरम प्रतिबंध :

  • मैं अपाचे को एक एप्लीकेशन गेटवे के रूप में रखने से बचना चाहूंगा (हालांकि मैं ऐसा करने को तैयार हूं कि यदि यह एकमात्र संभव विकल्प है)
  • यदि संभव हो, तो एप्लिकेशन गेटवे एक परिपक्व, खुला स्रोत सॉफ़्टवेयर उत्पाद होना चाहिए।

उत्पादों ने अब तक आवेदन गेटवे (सफलता के बिना) की कोशिश की

  • nginx
  • lighttpd
  • पौंड

प्रासंगिक आरएफसी

  • RFC2817 (... बताते हैं कि मौजूदा टीसीपी कनेक्शन पर ट्रांसपोर्ट लेयर सिक्योरिटी (टीएलएस) शुरू करने के लिए HTTP / 1.1 में अपग्रेड तंत्र का उपयोग कैसे किया जाता है। यह असुरक्षित और सुरक्षित HTTP ट्रैफ़िक को समान रूप से ज्ञात पोर्ट को साझा करने की अनुमति देता है ...)
  • RFC2818 (... बताता है कि इंटरनेट पर HTTP कनेक्शन को सुरक्षित करने के लिए TLS का उपयोग कैसे किया जाता है। वर्तमान प्रथा HTTP पर SSL (TLS के पूर्ववर्ती) को परत करने के लिए है, एक अलग सर्वर पोर्ट के उपयोग से असुरक्षित ट्रैफ़िक से सुरक्षित ट्रैफ़िक को अलग करना ... )

"जब कोई दूरस्थ उपयोगकर्ता http: // myhost.com:8080/specialurl ... का अनुरोध करता है ... एक अनुप्रयोग स्तर गेटवे के रूप में कार्य करने वाला प्रोग्राम एक एन्क्रिप्टेड सत्र के कनेक्शन को अपग्रेड करने में सक्षम होना चाहिए (बंदरगाहों को बदले बिना) ..." ग्राहक पक्ष पर यह संभव है? क्या एक क्लाइंट ब्राउज़र SSL चलाने में SSL का समर्थन करेगा जिसमें https नहीं है?
एडम ब्रांड

हाय एडम, और अपनी टिप्पणी छोड़ने के लिए धन्यवाद। Myhost.com:8080/specialurl का अनुरोध करने के बाद , ब्राउज़र को myhost.com:8080/specialurl पर पुनर्निर्देशित किया जाना चाहिए । मैं अन्य ब्राउज़रों के बारे में निश्चित नहीं हूं, लेकिन ओपेरा और फ़ायरफ़ॉक्स के हाल के संस्करण समस्याओं के बिना इसका समर्थन करते हैं।
एलेमार्टिनी

जवाबों:


1

उन सभी पर शासन करने के लिए एक बंदरगाह, दिखाता है कि किसी ने इसे कम से कम जावा दुनिया में लागू किया है।

क्या आपने कभी उत्पादन पर्यावरण में इस तरह के समाधान को तैनात किया है?

मैंने नहीं किया है - और न ही मैं कभी ऐसा करने की सलाह दूंगा। एक सलाहकार के रूप में मैं अपने ग्राहकों को मानकीकृत और सिद्ध प्रौद्योगिकियों का उपयोग करने के लिए प्रोत्साहित करने की कोशिश करता हूं। कोई भी सिस्टम किनारे के मामलों को छोड़कर उन आरएफसी को ठीक से लागू करने के लिए नहीं लगता है - और यह कुछ ऐसा नहीं होगा जो मैं सुझाव देना चाहता हूं या समर्थन करना चाहता हूं।


हाय स्टेन, और प्रतिक्रिया के लिए आपको थैक। मुझे ग्रिज़ली के बारे में पता नहीं था, और दुर्भाग्य से मैं जावा से परिचित नहीं हूँ। क्या आपने कभी उत्पादन पर्यावरण में इस तरह के समाधान को तैनात किया है? यह बहुत अच्छा होगा यदि आप एक उदाहरण दिखा सकते हैं कि यह कैसे करना है। धन्यवाद फिर से, एलेक्स।
एलेमार्टिनी

ठीक है, अपने उत्तर को संपादित करने और अधिक जानकारी जोड़ने के लिए धन्यवाद। जैसा कि आप देख सकते हैं, मैंने अब अपने प्रश्न को सीमित कर दिया है, और अधिक स्पष्ट रूप से बताते हुए कि मैं एक परिपक्व उत्पाद की तलाश कर रहा हूं। चलो देखते हैं कि क्या कोई इस के लिए एक अच्छा जवाब के साथ आता है। यह विश्वास करना कठिन है कि अपाचे लिनक्स की दुनिया का एक और एकमात्र अनुप्रयोग है जो RFC2817 का समर्थन करता है। लेकिन अगर ऐसा है, या अगर किसी और के पास वास्तविक दुनिया का अनुभव नहीं है, तो किसी अन्य उत्पाद के साथ कुछ इस तरह से तैनात करना, मुझे लगता है कि मेरे पास अपाचे के साथ इसे हल करने का प्रयास करने के अलावा कोई विकल्प नहीं होगा।
alemartini

0

यहाँ अपाचे आपकी मदद नहीं करेगा। यह केवल किसी भी पोर्ट पर HTTP या HTTPS कनेक्शन (दोनों नहीं) के लिए सुन सकता है।

जहां तक ​​मुझे पता है, कोई "परिपक्व उत्पाद" नहीं है जो इस कार्यक्षमता को लागू करता है। अपने नेटवर्क व्यवस्थापक को फ़ायरवॉल में एक और छेद पंच करने के लिए प्राप्त करें, या एक वीपीएन या एसएसएच सुरंग को बाहरी समापन बिंदु पर सेट करें जहां आप कई श्रवण पोर्ट सेट कर सकते हैं।

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