আমি ভাবছিলাম যে nginx একই বন্দরে HTTP এবং https অনুরোধগুলি পরিচালনা করতে সক্ষম কিনা । [*]
এই আমি চেষ্টা করার চেষ্টা করছি। আমি HTTP অনুরোধগুলি পরিচালনা করে একটি ওয়েব সার্ভার (লাইটটিপিডি) চালিয়ে যাচ্ছি, এবং একটি সি প্রোগ্রাম যা https এর মাধ্যমে ডকুমেন্ট গাছের একটি নির্দিষ্ট বিভাগকে পরিবেশন করে। এই দুটি প্রক্রিয়া একই সার্ভারে চলমান।
ফায়ারওয়াল স্তরে, এই সার্ভারে আমার কাছে কেবল একটি পোর্ট ফরওয়ার্ডিং ট্র্যাফিক থাকতে পারে । সুতরাং আমি যা করতে চাই তা হ'ল এই সার্ভারে এনজিনেক্স সেটআপ করা যাতে এটি কোনও একক বন্দরে অনুরোধের জন্য শোনায় এবং তারপরে:
ক) সমস্ত http://myhost.com/ * অনুরোধগুলি পুনঃনির্দেশ করে যাতে তারা লোকালহোস্টে যায়: 8080 (যেখানে লাইটটিপিডি শুনছে)
খ) যদি কোনও ব্যবহারকারী কোনও ইউআরএল দিয়ে উদাহরণস্বরূপ https: // myhost.com/app ব্যবহার করে তবে এটি অনুরোধটি লোকালহোস্ট: 8008 (সি প্রোগ্রাম) প্রেরণ করে। মনে রাখবেন যে এই ক্ষেত্রে, দূরবর্তী ব্রাউজার এবং এনজিনেক্সের মধ্যে ট্র্যাফিক অবশ্যই এনক্রিপ্ট করা উচিত।
আপনি কি মনে করেন এটি সম্ভব হতে পারে? যদি তা হয় তবে কীভাবে এটি করা যায়?
আমি জানি দুটি ভিন্ন বন্দর ব্যবহার করে এটি কীভাবে করা যায়। আমি যে চ্যালেঞ্জের মুখোমুখি হয়েছি এটি কেবল একটি একক বন্দর দিয়ে এটি করছে (দুর্ভাগ্যক্রমে, এই বিশেষ পরিবেশে ফায়ারওয়াল কনফিগারেশনের উপর আমার নিয়ন্ত্রণ নেই, সুতরাং এটি এমন একটি বাধা যা আমি এড়াতে পারি না)। ফায়ারওয়ালকে বাইপাস করতে এসএসএসের মাধ্যমে রিভার্স পোর্ট ফাউর্ডিংয়ের মতো কৌশল ব্যবহার করাও কাজ করবে না, কারণ এটি ওয়েব ব্রাউজার এবং একটি ইন্টারনেট লিঙ্ক ছাড়া আর কিছু না থাকা দূরবর্তী ব্যবহারকারীদের জন্য কাজ করা উচিত।
যদি এটি এনজিনেক্স ক্ষমতার বাইরে থাকে তবে আপনি কি এমন কোনও পণ্য জানেন যা এই প্রয়োজনীয়তাগুলি পূরণ করতে পারে? (এখনও পর্যন্ত আমি লাইটটিপিডি এবং পাউন্ড দিয়ে এটি স্থাপনে ব্যর্থ হয়েছি)। আমি অ্যাপাচি এড়িয়ে চলাও পছন্দ করি (যদিও আমি এটির সম্ভাব্য পছন্দ হলে এটি ব্যবহার করতে চাই)।
অগ্রিম ধন্যবাদ, অ্যালেক্স
[*] কেবল পরিষ্কার করার জন্য, আমি একই বন্দরের মাধ্যমে এনক্রিপ্ট করা এবং এনক্রিপ্ট করা HTTP সংযোগগুলি পরিচালনা করার কথা বলছি । এসএসএল বা টিএলএস এর মাধ্যমে এনক্রিপশন করা হয়েছে কিনা তা বিবেচ্য নয়।