আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন। তথ্য
সার্ভার নেম ইন্ডিকেশন (SNI) একাধিক HTTPS ব্যাকএন্ড সার্ভারকে একই IP অ্যাড্রেস ও পোর্ট থেকে পরিবেশন করতে দেয়। এর জন্য ব্যাকএন্ড সার্ভারগুলিকে একই TLS সার্টিফিকেট ব্যবহার করতে হয় না। এটি TLS প্রোটোকলের একটি এক্সটেনশন। কোনও ক্লায়েন্টে SNI চালু করা থাকলে, ক্লায়েন্ট প্রাথমিক TLS হ্যান্ডশেক প্রক্রিয়ার অংশ হিসেবে ব্যাকএন্ড সার্ভারের হোস্টনেম পাস করে। এটি TLS সার্ভারকে নির্ধারণ করতে দেয় যে ক্লায়েন্টের অনুরোধ যাচাই করার জন্য কোন TLS সার্টিফিকেট ব্যবহার করা উচিত।
আগে থেকে থাকা ব্যাকএন্ড সার্ভারের সাথে ব্যাকওয়ার্ড কম্প্যাটিবিলিটি নিশ্চিত করতে, Edge for the Private Cloud-এর মেসেজ প্রসেসর কম্পোনেন্টে SNI ডিফল্ট হিসেবে বন্ধ করা থাকে । আপনার ব্যাকএন্ড সার্ভার যদি SNI কাজ করে এমনভাবে কনফিগার করা থাকে, তাহলে আপনাকে মেসেজ প্রসেসর কম্পোনেন্টে SNI চালু করতে হবে। অন্যথায়, Apigee Edge-এর মাধ্যমে পাঠানো API অনুরোধ TLS হ্যান্ডশেক ব্যর্থতা সংক্রান্ত সমস্যার কারণে কাজ করবে না।
এই ডকুমেন্ট থেকে আপনি নিম্নলিখিত বিষয়গুলি সম্পর্কে জানতে পারবেন:
- ব্যাকএন্ড সার্ভারে SNI চালু আছে কিনা তা শনাক্ত করা
- SNI কাজ করে এমন ব্যাকএন্ড সার্ভারের সাথে যোগাযোগ করতে মেসেজ প্রসেসরে SNI চালু করুন
- প্রয়োজন হলে মেসেজ প্রসেসরে SNI বন্ধ করুন
- মেসেজ প্রসেসর থেকে SNI কনফিগারেশন সফলভাবে আপডেট করা হয়েছে কিনা তা যাচাই করুন
শুরু করার আগে
- আপনি SNI সম্পর্কে না জানলে, edge-এর সাথে SNI ব্যবহার করা নিবন্ধটি পড়ুন।
- প্রাইভেট ক্লাউডে Edge কনফিগার করার ব্যাপারে পরিচিত না হলে, Edge কীভাবে কনফিগার করতে হয় পড়ুন।
SNI চালু থাকা সার্ভার শনাক্তকরণ
এই বিভাগে, কোনও ব্যাকএন্ড সার্ভারে SNI চালু আছে কিনা তা কীভাবে শনাক্ত করতে হয় তা বর্ণনা করা হয়েছে।
-
opensslকমান্ডটি এক্সিকিউট করুন এবং প্রাসঙ্গিক সার্ভার হোস্টনেমে কানেক্ট করার চেষ্টা করুন (এজ রাউটার বা ব্যাকএন্ড সার্ভার) সার্ভারের নাম পাস না করেই, যেমন নিচে দেখানো হয়েছে:openssl s_client -connect hostname:port
-
আপনি সার্টিফিকেট পেতে পারেন এবং কখনও কখনও আপনি নিচে দেখানো
opensslকমান্ডে হ্যান্ডশেক ব্যর্থতা দেখতে পেতে পারেন:
CONNECTED(00000003) 9362:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.6/src/ssl/s23_clnt.c:593
-
opensslকমান্ডটি এক্সিকিউট করুন এবং নিচে দেখানো পদ্ধতিতে সার্ভারের নাম পাস করে প্রাসঙ্গিক সার্ভার হোস্টনেমের (এজ রাউটার বা ব্যাকএন্ড সার্ভার) সাথে কানেক্ট করার চেষ্টা করুন:openssl s_client -connect hostname:port -servername hostname
- আপনি যদি ধাপ ১-এ হ্যান্ডশেক ব্যর্থতা পান অথবা ধাপ ১ ও ২-এ আলাদা আলাদা সার্টিফিকেট পান, তাহলে এটি ইঙ্গিত করে যে নির্দিষ্ট সার্ভারে SNI চালু করা আছে।
- আপনি যদি একাধিক ব্যাকএন্ড সার্ভারের জন্য এটি যাচাই করতে চান, তাহলে আপনাকে প্রতিটি ব্যাকএন্ড সার্ভারের জন্য উপরের ধাপগুলি রিপিট করতে হবে।
আপনি যদি দেখেন যে আপনার এক বা একাধিক ব্যাকএন্ড সার্ভারে SNI চালু করা আছে, তাহলে আপনাকে নিচে ব্যাখ্যা করা পদ্ধতি অনুযায়ী মেসেজ প্রসেসর কম্পোনেন্টে SNI চালু করতে হবে। অন্যথায়, Apigee Edge-এর মাধ্যমে পাঠানো API অনুরোধ TLS হ্যান্ডশেক ব্যর্থতা সংক্রান্ত সমস্যার কারণে কাজ করবে না।
Edge মেসেজ প্রসেসর ও ব্যাকএন্ড সার্ভারের মধ্যে SNI চালু করা
এই বিভাগে Edge Message Processor ও ব্যাকএন্ড
সার্ভারের মধ্যে SNI কীভাবে চালু করতে হয় তা ব্যাখ্যা করা হয়েছে। SNI, মেসেজ প্রসেসর কম্পোনেন্টের jsse.enableSNIExtension প্রপার্টির মাধ্যমে চালু করা
যায়। মেসেজ প্রসেসরে কোনও প্রপার্টি কনফিগার করতে, Edge কীভাবে কনফিগার করতে হয়-এ বর্ণিত সিনট্যাক্স অনুযায়ী
টোকেন ব্যবহার করুন।
মেসেজ প্রসেসরে SNI চালু করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
jsse.enableSNIExtension প্রপার্টির জন্য টোকেন লোকেট করা
নিচে উল্লেখ করা ধাপগুলি থেকে কীভাবে
jsse.enableSNIExtension প্রপার্টির টোকেন খুঁজে পাবেন তা জানতে পারবেন:
-
নিচের কমান্ড ব্যবহার করে
jsse.enableSNIExtensionমেসেজ প্রসেসর সোর্স ডিরেক্টরিতে/opt/apigee/edge-message-processor/sourceপ্রপার্টি সার্চ করুন:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
এই কমান্ডের আউটপুট মেসেজ প্রসেসরের প্রপার্টির টোকেন দেখায়
jsse.enableSNIExtensionযা নিচে দেখানো হল:/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}{T}{/T}ট্যাগের মধ্যে থাকা স্ট্রিং হল টোকেনের নাম যা আপনি মেসেজ প্রসেসরের.propertiesফাইলে সেট করতে পারেন।তাই, প্রপার্টি
jsse.enableSNIExtension-এর টোকেন হল:conf_system_jsse.enableSNIExtension
মেসেজ প্রসেসরে SNI চালু করুন
Apigee মেসেজ প্রসেসর কম্পোনেন্টে কীভাবে SNI চালু করতে হয় তা নিম্নলিখিত ধাপগুলি থেকে জানতে পারবেন।
- Message Processor মেশিনে, এডিটরে নিম্নলিখিত ফাইলটি খুলুন। এটি আগে থেকে
না থাকলে, এটি তৈরি করুন।
/opt/apigee/customer/application/message-processor.properties
যেমন,
viব্যবহার করে ফাইল খুলতে, নিম্নলিখিত কমান্ড লিখুন:vi /opt/apigee/customer/application/message-processor.properties
-
প্রপার্টি ফাইলে নিম্নলিখিত ফর্ম্যাটে একটি লাইন যোগ করুন:
conf_system_jsse.enableSNIExtension=true
- আপনার করা পরিবর্তন সেভ করুন।
-
নিশ্চিত করুন যে এই প্রপার্টি ফাইলের মালিক
apigeeব্যবহারকারী, যেমন নিচে দেখানো হয়েছে:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
নিচে দেখানো পদ্ধতিতে মেসেজ প্রসেসর রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- মেসেজ প্রসেসরে SNI কনফিগারেশন আপডেট করা হয়েছে কিনা তা যাচাই করুন।
- আপনার কাছে একাধিক মেসেজ প্রসেসর থাকলে, সব মেসেজ প্রসেসরের জন্য উপরে উল্লিখিত ধাপগুলি আবার করুন।
Edge মেসেজ প্রসেসর ও ব্যাকএন্ড সার্ভারের মধ্যে SNI বন্ধ করা
সাধারণত SNI চালু করার পরে আপনার কোনও সমস্যা হওয়ার কথা নয়। তবে, SNI চালু করার পরে Edge Message Processor এবং ব্যাকএন্ড সার্ভারের মধ্যে কোনও কানেক্টিভিটি সংক্রান্ত সমস্যা হলে, আপনি নিম্নলিখিত ধাপগুলি অনুসরণ করে SNI বন্ধ করে দিতে পারেন।
মেসেজ প্রসেসর কম্পোনেন্টে jsse.enableSNIExtension
প্রপার্টিকে আবার false হিসেবে সেট করে SNI বন্ধ করা যেতে পারে।
মেসেজ প্রসেসরে SNI বন্ধ করা
Apigee মেসেজ প্রসেসরে কীভাবে SNI বন্ধ করতে হয় তা নিম্নলিখিত ধাপগুলি থেকে জানতে পারবেন।
-
Message Processor মেশিনে, এডিটরে নিম্নলিখিত ফাইলটি খুলুন। এটি আগে থেকে
না থাকলে, এটি তৈরি করুন।
/opt/apigee/customer/application/message-processor.properties
যেমন,
viব্যবহার করে ফাইল খুলতে, এই কমান্ড লিখুন:vi /opt/apigee/customer/application/message-processor.properties
-
conf_system_jsse.enableSNIExtension=trueলাইনটি যদি/opt/apigee/customer/application/message-processor.properties-এ থাকে, তাহলে এটিকে এইভাবে পরিবর্তন করুন:conf_system_jsse.enableSNIExtension=false
- আপনার করা পরিবর্তন সেভ করুন।
-
নিশ্চিত করুন যে এই প্রপার্টি ফাইলের মালিক
apigeeব্যবহারকারী, যেমন নিচে দেখানো হয়েছে:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
নিচে দেখানো পদ্ধতিতে মেসেজ প্রসেসর রিস্টার্ট করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- মেসেজ প্রসেসরে SNI কনফিগারেশন আপডেট করা হয়েছে কিনা তা যাচাই করুন।
- আপনার একাধিক মেসেজ প্রসেসর থাকলে, সবকটি মেসেজ প্রসেসরের জন্য উপরের ধাপগুলি রিপিট করুন।
মেসেজ প্রসেসরে SNI কনফিগারেশন যাচাই করা
এই বিভাগে কীভাবে যাচাই করতে হয় যে মেসেজ প্রসেসরে SNI কনফিগারেশন সফলভাবে আপডেট করা হয়েছে তা ব্যাখ্যা করা হয়েছে।
মেসেজ প্রসেসরে SNI কনফিগার করার জন্য আপনি conf_system_jsse.enableSNIExtension টোকেন ব্যবহার করলেও
আপনাকে যাচাই করে দেখতে হবে যে নতুন ভ্যালু দিয়ে আসল প্রপার্টি
jsse.enableSNIExtension সেট করা হয়েছে কিনা।
-
মেসেজ প্রসেসর মেশিনে,
/opt/apigee/edge-message-processor/confডিরেক্টরিতেjsse.enableSNIExtensionপ্রপার্টিটি খুঁজুন এবং নিচে দেখানো নতুন ভ্যালু দিয়ে এটি সেট করা হয়েছে কিনা দেখুন:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
-
মেসেজ প্রসেসরে SNI কনফিগারেশন সফলভাবে আপডেট করা হলে, উপরের
কমান্ডটি
system.propertiesফাইলে নতুন ভ্যালু দেখায়।আপনি মেসেজ প্রসেসরে SNI চালু করার পরে উপরের কমান্ড থেকে পাওয়া নমুনা ফলাফল নিম্নলিখিত:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
একইভাবে, আপনি মেসেজ প্রসেসরে SNI বন্ধ করে দেওয়ার পরে, উপরের কমান্ড থেকে পাওয়া নমুনা ফলাফল নিম্নলিখিত:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
উপরের উদাহরণ আউটপুটে, লক্ষ্য করুন যে প্রপার্টি
jsse.enableSNIExtensionনতুন ভ্যালুtrueবাfalse-এ আপডেট করা হয়েছেsystem.properties। এটি থেকে বোঝা যায় যে মেসেজ প্রসেসরে SNI চালু বা বন্ধ করা হয়েছে। -
আপনি যদি এখনও প্রপার্টির
jsse.enableSNIExtensionপুরনো ভ্যালু দেখতে পান, তাহলে SNI সঠিকভাবে চালু বা বন্ধ করার জন্য উপযুক্ত বিভাগে বর্ণিত সমস্ত ধাপ অনুসরণ করেছেন কিনা তা যাচাই করুন। আপনি কোনও ধাপ মিস করে থাকলে, সঠিকভাবে আবার সব ধাপ রিপিট করুন। - আপনি এখনও SNI চালু/বন্ধ করতে না পারলে , Apigee Edge সহায়তা টিমের সাথে যোগাযোগ করুন।