আমার কাছে এসএসএল, স্থানীয় সেশন এবং লোড ব্যালেন্সিং সম্পর্কিত একগুচ্ছ প্রশ্ন রয়েছে যা একে অপরের সাথে যুক্ত বলে মনে হচ্ছে, তাই এই প্রশ্নের দৈর্ঘ্যের জন্য আমি আগাম ক্ষমা চেয়ে নিচ্ছি।
আমার একটি ওয়েবসাইট রয়েছে যা ফাইল-ভিত্তিক সেশনগুলি ব্যবহার করে। সাইটের প্রকৃতি হ'ল এর বেশিরভাগটি এইচটিপি, তবে কিছু বিভাগ এসএসএল। বর্তমানে, ফাইল ভিত্তিক সেশনগুলির কারণে, কোনও এসএসএল অনুরোধগুলির জন্য পূর্ববর্তী কোনও http অনুরোধগুলির অনুরূপ সার্ভারটি হিট করা প্রয়োজন।
সময়ের সীমাবদ্ধতার কারণে, আমি ভারসাম্য বর্ধিত http এবং এসএসএল ট্র্যাফিক লোড করার পক্ষে সবচেয়ে সহজতম কাজটি করতে চাই।
স্টিকি লোড ব্যালান্সিং অ্যালগরিদমে 2 টি বিকল্প রয়েছে বলে মনে হচ্ছে:
- আইপি ভিত্তিক
- কুকি ভিত্তিক
আইপি ভিত্তিক সমাধানটি সম্ভবত কাজ করবে তবে হ্যাশিং অ্যালগরিদম কোনও সার্ভার ডাউন হয়ে গেলে বা যুক্ত করা হয় যা বর্তমান ফাইল-ভিত্তিক সেশন সেটআপের সাথে অনাকাঙ্ক্ষিত added আমি আরও মনে করি যে কোনও ওয়েবসাইট ব্রাউজ করার সময় কোনও ব্যবহারকারীর পক্ষে বৈধভাবে আইপিএস পরিবর্তন করা প্রযুক্তিগতভাবে সম্ভব।
কুকি ভিত্তিক অ্যালগরিদম আরও ভাল বলে মনে হচ্ছে, তবে এসএসএল দ্বারা এনক্রিপ্ট করা অবস্থায় কুকিটি পরিদর্শন করতে অক্ষমতা আপাতদৃষ্টিতে নিজের সমস্যাগুলি উপস্থাপন করে।
আমি কীভাবে ব্যালেন্স এসএসএল লোড করতে পারি তার উদাহরণগুলির জন্য আমি গুগল করছি এবং সেটআপগুলির কোনও সুস্পষ্ট উদাহরণ আমি খুঁজে পাচ্ছি না যা কুকি ভিত্তিক লোড ব্যালেন্সিং করতে পারে এবং যা অন্য এসএসএল ডিকোডার যুক্ত করে এসএসএল লোডের সাথে কাজ করতে পারে।
আমি দেখেছি বেশিরভাগ সুস্পষ্ট উদাহরণগুলির মধ্যে ব্রাউজার ক্লায়েন্ট এবং লোড ব্যালান্সারের মধ্যে এসএসএল ডিকোডার (সাধারণত হার্ডওয়্যার, অ্যাপাচি_মড_এসএসএল বা এনজিনেক্স) বসে থাকে। উদাহরণগুলিতে সাধারণত এ জাতীয় কিছু রয়েছে বলে মনে হয় ( http://haproxy.1wt.eu/download/1.3/doc/architecture.txt থেকে পরিবর্তিত ):
192.168.1.1 192.168.1.11-192.168.1.14 ------- + + ----------- + + ----- + + ----- + + ----- + + | | | | | + - + - + + - + + + + + + + + + + + + + + + + | এলবি 1 | | ক | | খ | | সি | | ডি | + ----- + + --- + + --- + + --- + + --- + + অ্যাপাচি 4 সস্তা ওয়েব সার্ভার mod_ssl HAProxy
উপরের উদাহরণে এসএসএল ডিকোডিং অংশটি একটি সম্ভাব্য বাধা মনে হচ্ছে যা অনুভূমিকভাবে পরিমাপযোগ্য নয়।
আমি হ্যাপ্রোক্সি দেখেছি, এবং এটিতে একটি 'মোড টিসিপি' বিকল্প রয়েছে বলে মনে হচ্ছে এটি এমন কিছু করার অনুমতি দেবে যা আপনাকে একাধিক এসএসএল ডিকোডার রাখার অনুমতি দেয়:
HAProxy | ------------- | | এসএসএল-ডিকোডার -১ এসএসএল-ডিকোডার 2 | | ------------------- | | | ওয়েব 1 ওয়েব 2 ওয়েব 3
তবে, এই জাতীয় সেটআপে, আপনি ক্লায়েন্ট আইপি হারাবেন বলে মনে হচ্ছে কারণ হ্যাপ্রোক্সি এসএসএল ডিকোড করছে না: https://cloud-support.engineyard.com/discussion/problems/335-haproxy-not-passing-x- ফরওয়ার্ড -for
আমি এনজিনেক্সেও দেখেছি এবং আমি অনুভূমিকভাবে স্কেলযোগ্য এসএসএল-ডিকোডারগুলির কোনও সুস্পষ্ট উদাহরণও দেখতে পাচ্ছি না। এমন অনেকগুলি লোকের সম্ভাব্য বাধা হিসাবে Nginx থাকার উদাহরণ রয়েছে। এবং কমপক্ষে এই লিঙ্কটি মনে হয় যে এনজিনেক্সের হ্যাপ্রোক্সি-জাতীয় সেটআপের বিকল্প নেই তবে আপনি এই কথাটি বলে আইপিটি হারাবেন যে এনজিনেক্স "ব্যাকএন্ডে স্বচ্ছভাবে টিসিপি সংযোগগুলি সমর্থন করে না" কীভাবে অ্যাপাচি পাস করবেন এসএসএল ট্র্যাফিক ট্রট এনজিনেক্স প্রক্সি? ।
প্রশ্নাবলী:
- কেন বাড়তি ট্রাফিক মোকাবেলায় সেটআপগুলির আরও এসএসএল ডিকোডার যুক্ত করার আরও উদাহরণ নেই?
- এটি কি কারণ এসএসএল ডিকোডিং পদক্ষেপটি কেবল একটি তাত্ত্বিক বাধা, এবং ব্যবহারিকভাবে বলতে গেলে, হাস্যকর ট্র্যাফিকের সাইটগুলি ব্যতীত একটি ডিকোডার মূলত যথেষ্ট হবে?
- আর একটি সম্ভাব্য সমাধান যা মাথায় আসে তা হ'ল সম্ভবত এসএসএল বাড়ানো যে কারওরও সেন্ট্রালাইজড সেশন স্টোর রয়েছে, তাই ক্লায়েন্টটি ক্রমবর্ধমান অনুরোধগুলিতে যেটি হিট করে তা কোনও ব্যাপার নয়। তারপরে আপনি প্রতিটি ওয়েব সার্ভারে mod_ssl বা সমতুল্য সক্ষম করতে পারবেন।
- উপরোক্ত উদ্ধৃত হ্যাপ্রোক্সি সমাধানটি (ক্লায়েন্ট আইপি সমস্যা ছাড়াও) কাজ করে বলে মনে হচ্ছে, তবে যে কেউ ক্লिकी আইপি রাখার সময় ডিকোডারের সংখ্যা বাড়িয়ে কাজ করবে এমন একটি স্টিকি কুকি ভিত্তিক সফ্টওয়্যার লোড ব্যালেন্সার সলিউশন জুড়ে এসেছে বা সম্ভবত এটি প্রযুক্তিগতভাবে নয় সম্ভব (কারণ আপনাকে ক্লায়েন্টের আইপি পাওয়ার অনুরোধটি ডিকোড করতে হবে, সেক্ষেত্রে আমাদের একটি ডিকোডার বাধা রয়েছে)।
ধরে নিলাম যে আমি যা বলেছি সবই সত্য, এগুলি আমার বিকল্প হিসাবে উপস্থিত হবে:
- আইপি হ্যাশিং ব্যবহার করুন (ব্যবহারকারীদের জন্য যারা আইনত বৈধভাবে আইপস পরিবর্তন করেন এবং সার্ভারের জন্য পরিস্থিতিতে যোগ এবং ছাড়ার জন্য খারাপ)
- এসএসএল অনুরোধটিকে স্পর্শ করে প্রথম প্রোগ্রাম হিসাবে এনজিনেক্স বা মোড_এসএল ব্যবহার করুন, এটি একটি সম্ভাব্য এসএসএল ডিকোডিং বাধা হবে
- অনুভূমিক এসএসএল স্কেলাবিলিটি অর্জন করে, এসএসএল অনুরোধটিকে স্পর্শ করে 1 ম প্রোগ্রাম হিসাবে হ্যাপ্রোক্সি ব্যবহার করুন, তবে এসএসএল অনুরোধগুলির জন্য ওয়েবসরভার স্তরে লগ ইন করা কোনও আইপিসের সাথে লাইভ করুন (সম্ভবত সাময়িকভাবে ঠিক আছে)
- দীর্ঘ মেয়াদে, একটি মোবাইল বা কেন্দ্রীভূত সেশন স্টোরের দিকে এগিয়ে চলুন, স্টিকি সেশনগুলি অপ্রয়োজনীয় করে তোলে