मैं सोच रहा था कि क्या nginx उसी पोर्ट पर http और https अनुरोधों को संभालने में सक्षम है । [*]
यही मैं करने की कोशिश कर रहा हूं। मैं http अनुरोधों को संभालने वाला एक वेब सर्वर (लाइटटैप) और एक सी प्रोग्राम चला रहा हूं, जो https के माध्यम से डॉक्यूमेंट ट्री के एक विशेष सेक्शन का काम करता है। ये दो प्रक्रियाएँ एक ही सर्वर पर चलती हैं।
फ़ायरवॉल स्तर पर, मेरे पास इस सर्वर में केवल एक पोर्ट अग्रेषण ट्रैफ़िक हो सकता है । तो मुझे क्या करना चाहिए इस सर्वर पर nginx स्थापित करने के लिए इतना है कि यह एक बंदरगाह पर अनुरोधों के लिए सुनता है और फिर:
ए) सभी http://myhost.com/ * अनुरोधों को रीडायरेक्ट करता है ताकि वे लोकलहोस्ट पर जाएं: 8080 (जहां लाइटटैप सुन रहा है)
B) यदि कोई उपयोगकर्ता उदाहरण के लिए, URL से शुरू होने वाले URL का अनुरोध करता है, तो https: // myhost.com/app, यह उस अनुरोध को स्थानीयहोस्ट: 8008 (C प्रोग्राम) को भेजता है। ध्यान दें कि इस स्थिति में, दूरस्थ ब्राउज़र और नगीनक्स के बीच ट्रैफ़िक को एन्क्रिप्ट किया जाना चाहिए।
क्या आपको लगता है कि यह संभव हो सकता है? यदि यह है, तो यह कैसे किया जा सकता है?
मुझे पता है कि दो अलग-अलग पोर्ट का उपयोग करके यह कैसे करना है। चुनौती है कि मैं सिर्फ एक बंदरगाह के साथ यह कर रहा हूँ (दुर्भाग्य से, मैं इस विशेष वातावरण पर फ़ायरवॉल विन्यास पर नियंत्रण नहीं है, तो यह एक प्रतिबंध है कि मैं नहीं बचा सकता है)। फ़ायरवॉल को बायपास करने के लिए ssh के माध्यम से रिवर्स पोर्ट फ़ॉवरिंग जैसी तकनीकों का उपयोग करना या तो काम नहीं करेगा, क्योंकि यह उन दूरस्थ उपयोगकर्ताओं के लिए काम करना चाहिए जिनके पास वेब ब्राउज़र और इंटरनेट लिंक से अधिक कुछ नहीं है।
यदि यह nginx क्षमताओं से परे है, तो क्या आप किसी अन्य उत्पाद के बारे में जानते हैं जो इस आवश्यकताओं को पूरा कर सकता है? (अब तक मैं इसे लाइटटैप और पाउंड के साथ सेट करने में असफल रहा हूं)। मैं भी अपाचे से बचना पसंद करूँगा (हालाँकि अगर मैं इसका उपयोग करना चाहता हूँ तो यह एकमात्र संभव विकल्प है)।
अग्रिम धन्यवाद, एलेक्स
[*] बस स्पष्ट होना, मैं एक ही पोर्ट के माध्यम से एन्क्रिप्टेड और अनएन्क्रिप्टेड HTTP कनेक्शन को संभालने के बारे में बात कर रहा हूं । यह कोई फर्क नहीं पड़ता कि एन्क्रिप्शन एसएसएल या टीएलएस के माध्यम से किया जाता है।