এজ মেসেজ প্রসেসর এবং ব্যাকএন্ড সার্ভারের মধ্যে SNI কনফিগার করা হচ্ছে

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

সার্ভার নেম ইন্ডিকেশন (SNI) একাধিক HTTPS ব্যাকএন্ড সার্ভারকে একই আইপি ঠিকানা এবং পোর্টে পরিবেশন করার অনুমতি দেয় সেই ব্যাকএন্ড সার্ভারগুলিকে একই TLS শংসাপত্র ব্যবহার করার প্রয়োজন ছাড়াই। এটি TLS প্রোটোকলের একটি এক্সটেনশন। যখন একটি ক্লায়েন্টে SNI সক্ষম করা হয়, ক্লায়েন্ট প্রাথমিক TLS হ্যান্ডশেকের অংশ হিসাবে ব্যাকএন্ড সার্ভারের হোস্টনাম পাস করে। এটি TLS সার্ভারকে ক্লায়েন্টের অনুরোধ যাচাই করার জন্য কোন TLS শংসাপত্র ব্যবহার করা উচিত তা নির্ধারণ করতে দেয়।

ডিফল্টরূপে, বিদ্যমান ব্যাকএন্ড সার্ভারগুলির সাথে পশ্চাদমুখী সামঞ্জস্য নিশ্চিত করতে ব্যক্তিগত ক্লাউডের জন্য এজে মেসেজ প্রসেসর উপাদানটিতে SNI নিষ্ক্রিয় করা হয়৷ যদি আপনার ব্যাকএন্ড সার্ভারটি SNI সমর্থন করার জন্য কনফিগার করা থাকে, তাহলে আপনাকে বার্তা প্রসেসর উপাদানে SNI সক্ষম করতে হবে। অন্যথায়, Apigee Edge-এর মধ্য দিয়ে যাওয়া API অনুরোধগুলি TLS হ্যান্ডশেক ব্যর্থতার সাথে ব্যর্থ হবে।

এই নথিটি ব্যাখ্যা করে যে কীভাবে নিম্নলিখিতগুলি করতে হবে:

আপনি শুরু করার আগে

SNI সক্রিয় সার্ভার সনাক্তকরণ

একটি ব্যাকএন্ড সার্ভার SNI সক্ষম কিনা তা কীভাবে সনাক্ত করা যায় তা এই বিভাগে বর্ণনা করে৷

  1. openssl কমান্ডটি চালান এবং সার্ভারের নাম পাস না করে প্রাসঙ্গিক সার্ভার হোস্টনেম (এজ রাউটার বা ব্যাকএন্ড সার্ভার) সাথে সংযোগ করার চেষ্টা করুন, যেমনটি নীচে দেখানো হয়েছে:
    openssl s_client -connect hostname:port
    
  2. আপনি শংসাপত্রগুলি পেতে পারেন এবং কখনও কখনও আপনি 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
    
  3. openssl কমান্ডটি চালান এবং নীচে দেখানো সার্ভারের নামটি পাস করে প্রাসঙ্গিক সার্ভার হোস্টনেম (এজ রাউটার বা ব্যাকএন্ড সার্ভার) এর সাথে সংযোগ করার চেষ্টা করুন:
    openssl s_client -connect hostname:port -servername hostname
    
  4. আপনি যদি ধাপ 1 এ হ্যান্ডশেক ব্যর্থতা পান বা ধাপ 1 এবং ধাপ 2 এ বিভিন্ন শংসাপত্র পান, তাহলে এটি নির্দেশ করে যে নির্দিষ্ট সার্ভারটি SNI সক্ষম।
  5. আপনি যদি একাধিক ব্যাকএন্ড সার্ভারের জন্য এটি যাচাই করতে চান, তাহলে আপনাকে প্রতিটি ব্যাকএন্ড সার্ভারের জন্য উপরের পদক্ষেপগুলি পুনরাবৃত্তি করতে হবে।

আপনি যদি দেখেন যে আপনার এক বা একাধিক ব্যাকএন্ড সার্ভার আছে যেগুলি SNI সক্ষম করা আছে, তাহলে নীচের ব্যাখ্যা অনুযায়ী আপনাকে মেসেজ প্রসেসর উপাদানে SNI সক্ষম করতে হবে। অন্যথায়, Apigee Edge-এর মধ্য দিয়ে যাওয়া API অনুরোধগুলি TLS হ্যান্ডশেক ব্যর্থতার সাথে ব্যর্থ হবে।

এজ মেসেজ প্রসেসর এবং ব্যাকএন্ড সার্ভারের মধ্যে SNI সক্ষম করুন

এই বিভাগটি ব্যাখ্যা করে কিভাবে এজ মেসেজ প্রসেসর এবং ব্যাকএন্ড সার্ভারের মধ্যে SNI সক্রিয় করতে হয়। মেসেজ প্রসেসর কম্পোনেন্টে jsse.enableSNIExtension প্রপার্টির মাধ্যমে SNI সক্রিয় করা যেতে পারে। মেসেজ প্রসেসরে যেকোন প্রপার্টি কনফিগার করতে, How to configure Edge এ বর্ণিত সিনট্যাক্স অনুযায়ী টোকেন ব্যবহার করুন।

বার্তা প্রসেসরগুলিতে SNI সক্ষম করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

  1. jsse.enableSNIExtension সম্পত্তির জন্য টোকেন খুঁজুন
  2. বার্তা প্রসেসরে SNI সক্ষম করুন

jsse.enableSNIExtension সম্পত্তির জন্য টোকেন খুঁজুন

নিম্নলিখিত পদক্ষেপগুলি বর্ণনা করে যে কীভাবে jsse.enableSNIExtension সম্পত্তির জন্য টোকেন সনাক্ত করতে হয়:

  1. নিম্নলিখিত কমান্ডটি ব্যবহার করে মেসেজ প্রসেসর সোর্স ডিরেক্টরি /opt/apigee/edge-message-processor/source jsse.enableSNIExtension বৈশিষ্ট্য অনুসন্ধান করুন:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
    
  2. এই কমান্ডের আউটপুট মেসেজ প্রসেসরের প্রপার্টি 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 কিভাবে সক্রিয় করা যায় তা নিচের ধাপগুলো বর্ণনা করে।

  1. বার্তা প্রসেসর মেশিনে, একটি সম্পাদকে নিম্নলিখিত ফাইলটি খুলুন। যদি এটি ইতিমধ্যে বিদ্যমান না থাকে তবে এটি তৈরি করুন।
    /opt/apigee/customer/application/message-processor.properties
    

    উদাহরণস্বরূপ, vi ব্যবহার করে ফাইলটি খুলতে, নিম্নলিখিত কমান্ডটি প্রবেশ করান:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. বৈশিষ্ট্য ফাইলে নিম্নলিখিত বিন্যাসে একটি লাইন যোগ করুন:
    conf_system_jsse.enableSNIExtension=true
    
  3. আপনার পরিবর্তন সংরক্ষণ করুন.
  4. নিশ্চিত করুন যে এই প্রপার্টি ফাইলটি নীচে দেখানো হিসাবে apigee ব্যবহারকারীর মালিকানাধীন:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. নীচে দেখানো হিসাবে বার্তা প্রসেসর পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. বার্তা প্রসেসরে SNI কনফিগারেশন আপডেট করা হয়েছে তা যাচাই করুন।
  7. আপনার যদি একাধিক বার্তা প্রসেসর থাকে তবে সমস্ত বার্তা প্রসেসরে এই উপরের পদক্ষেপগুলি পুনরাবৃত্তি করুন৷

এজ মেসেজ প্রসেসর এবং ব্যাকএন্ড সার্ভারের মধ্যে SNI অক্ষম করুন

সাধারণত SNI সক্ষম করার পরে আপনার কোনো সমস্যা দেখা উচিত নয়। যাইহোক, যদি আপনি SNI সক্রিয় করার পরে এজ মেসেজ প্রসেসর এবং ব্যাকএন্ড সার্ভারের মধ্যে কোনো সংযোগ সমস্যা লক্ষ্য করেন, আপনি নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করে সর্বদা SNI নিষ্ক্রিয় করতে পারেন।

মেসেজ প্রসেসর কম্পোনেন্টে প্রপার্টি jsse.enableSNIExtension আবার false এ সেট করে SNI নিষ্ক্রিয় করা যেতে পারে।

বার্তা প্রসেসরগুলিতে SNI অক্ষম করুন

Apigee মেসেজ প্রসেসরে কিভাবে SNI অক্ষম করা যায় তা নিম্নলিখিত ধাপগুলো বর্ণনা করে।

  1. বার্তা প্রসেসর মেশিনে, একটি সম্পাদকে নিম্নলিখিত ফাইলটি খুলুন। যদি এটি ইতিমধ্যে বিদ্যমান না থাকে তবে এটি তৈরি করুন।
    /opt/apigee/customer/application/message-processor.properties
    

    উদাহরণস্বরূপ, vi ব্যবহার করে ফাইলটি খুলতে, নিম্নলিখিত কমান্ডটি প্রবেশ করান:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. যদি /opt/apigee/customer/application/message-processor.propertiesconf_system_jsse.enableSNIExtension=true লাইনটি বিদ্যমান থাকে, তাহলে এটিকে নিম্নরূপ পরিবর্তন করুন:
    conf_system_jsse.enableSNIExtension=false
    
  3. আপনার পরিবর্তন সংরক্ষণ করুন.
  4. নিশ্চিত করুন যে এই প্রপার্টি ফাইলটি নীচে দেখানো হিসাবে apigee ব্যবহারকারীর মালিকানাধীন:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. নীচে দেখানো হিসাবে বার্তা প্রসেসর পুনরায় চালু করুন:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. বার্তা প্রসেসরে SNI কনফিগারেশন আপডেট করা হয়েছে তা যাচাই করুন।
  7. আপনার যদি একাধিক বার্তা প্রসেসর থাকে তবে সমস্ত বার্তা প্রসেসরে উপরের পদক্ষেপগুলি পুনরাবৃত্তি করুন৷

বার্তা প্রসেসরগুলিতে SNI কনফিগারেশন যাচাই করা হচ্ছে

এই বিভাগটি ব্যাখ্যা করে কিভাবে যাচাই করা যায় যে SNI কনফিগারেশন সফলভাবে মেসেজ প্রসেসরে আপডেট করা হয়েছে।

যদিও আপনি বার্তা প্রসেসরে SNI কনফিগার করতে টোকেন conf_system_jsse.enableSNIExtension ব্যবহার করেন, তবুও আপনাকে যাচাই করতে হবে যে প্রকৃত সম্পত্তি jsse.enableSNIExtension নতুন মান সহ সেট করা হয়েছে।

  1. মেসেজ প্রসেসর মেশিনে, /opt/apigee/edge-message-processor/conf ডিরেক্টরিতে jsse.enableSNIExtension প্রপার্টি অনুসন্ধান করুন এবং নীচে দেখানো হিসাবে এটি নতুন মান সহ সেট করা হয়েছে কিনা তা পরীক্ষা করুন:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
    
  2. যদি 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 system.propertiestrue বা false নতুন মানের সাথে আপডেট করা হয়েছে। এটি নির্দেশ করে যে মেসেজ প্রসেসরে SNI সফলভাবে সক্ষম বা অক্ষম করা হয়েছে।

  3. আপনি যদি এখনও jsse.enableSNIExtension সম্পত্তির জন্য পুরানো মান দেখতে পান, তাহলে যাচাই করুন যে আপনি সঠিকভাবে SNI সক্রিয় বা নিষ্ক্রিয় করতে উপযুক্ত বিভাগে বর্ণিত সমস্ত পদক্ষেপ অনুসরণ করেছেন৷ আপনি যদি কোনো ধাপ মিস করে থাকেন তবে সবগুলো ধাপ সঠিকভাবে পুনরাবৃত্তি করুন।
  4. আপনি যদি এখনও SNI সক্ষম/অক্ষম করতে না পারেন, তাহলে Apigee Edge সাপোর্টের সাথে যোগাযোগ করুন।