আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
সার্ভার নেম ইন্ডিকেশন (SNI) একাধিক HTTPS টার্গেটকে একই আইপি অ্যাড্রেস এবং পোর্টে পরিবেশন করার অনুমতি দেয় সেই লক্ষ্যগুলিকে একই TLS সার্টিফিকেট ব্যবহার করার প্রয়োজন ছাড়াই। যখন একটি ক্লায়েন্টে SNI সক্ষম করা হয়, তখন প্রাথমিক TLS হ্যান্ডশেকের অংশ হিসাবে ক্লায়েন্ট টার্গেট এন্ডপয়েন্টের হোস্টনাম পাস করে। এটি TLS সার্ভারকে অনুরোধটি যাচাই করতে কোন TLS শংসাপত্র ব্যবহার করা উচিত তা নির্ধারণ করতে দেয়৷
উদাহরণস্বরূপ, যদি অনুরোধের লক্ষ্যটি হয় https:// example.com /request/path
, তাহলে TLS ক্লায়েন্ট server_name
এক্সটেনশনটি TLS হ্যান্ডশেক অনুরোধে যোগ করে, যেমনটি নীচে দেখানো হয়েছে:
এজ এর জন্য SNI সমর্থন করে:
- একটি API প্রক্সিতে একটি ক্লায়েন্ট অ্যাপ থেকে অনুরোধ। এই পরিস্থিতিতে, এজ টিএলএস সার্ভার হিসাবে কাজ করে
- এজ থেকে ব্যাকএন্ডে অনুরোধ। এই পরিস্থিতিতে, এজ টিএলএস ক্লায়েন্ট হিসাবে কাজ করে।
SNI সম্পর্কে অতিরিক্ত তথ্যের জন্য, দেখুন:
- https://en.wikipedia.org/wiki/Server_Name_Indication
- http://blog.layershift.com/sni-ssl-production-ready/
এজ এ এপিআই প্রক্সির অনুরোধের জন্য SNI সমর্থন করছে
API প্রক্সিগুলিতে অনুরোধের জন্য SNI সমর্থন হোস্ট উপনাম এবং ভার্চুয়াল হোস্ট দ্বারা নিয়ন্ত্রিত হয়।
ভার্চুয়াল হোস্ট এবং হোস্ট উপনাম সম্পর্কে
এজ এর সাথে, একটি ভার্চুয়াল হোস্ট IP ঠিকানা এবং পোর্ট, বা DNS নাম এবং পোর্টকে সংজ্ঞায়িত করে, যার উপর একটি API প্রক্সি উন্মুক্ত করা হয় এবং এক্সটেনশনের মাধ্যমে, অ্যাপ্লিকেশনগুলি একটি API প্রক্সি অ্যাক্সেস করতে ব্যবহার করে এমন URL। আইপি ঠিকানা/ডিএনএস নামটি এজ রাউটারের সাথে মিলে যায় এবং পোর্ট নম্বরটি রাউটারের একটি খোলা পোর্ট।
আপনি যখন ভার্চুয়াল হোস্ট তৈরি করেন, আপনি ভার্চুয়াল হোস্টের হোস্ট উপনামও নির্দিষ্ট করেন। সাধারণত এটি ভার্চুয়াল হোস্টের DNS নাম। অনুরোধটি পরিচালনা করে এমন API প্রক্সি নির্ধারণের অংশ হিসাবে, রাউটার আগত অনুরোধের Host
শিরোনামকে সমস্ত ভার্চুয়াল হোস্ট দ্বারা সংজ্ঞায়িত উপলব্ধ হোস্ট উপনামের তালিকার সাথে তুলনা করে।
ভার্চুয়াল হোস্টের জন্য হোস্ট উপনাম এবং পোর্ট নম্বরের সমন্বয় এজ ইনস্টলেশনের সমস্ত ভার্চুয়াল হোস্টের জন্য অনন্য হতে হবে। তার মানে একাধিক ভার্চুয়াল হোস্ট একই পোর্ট নম্বর ব্যবহার করতে পারে যদি তাদের আলাদা হোস্ট উপনাম থাকে।
একটি ভার্চুয়াল হোস্ট HTTP প্রোটোকল ব্যবহার করে বা TLS ব্যবহার করে এনক্রিপ্ট করা HTTPS প্রোটোকল ব্যবহার করে API প্রক্সি অ্যাক্সেস করা হয়েছে কিনা তাও নির্ধারণ করে। HTTPS ব্যবহার করার জন্য একটি ভার্চুয়াল হোস্ট কনফিগার করার সময়, ভার্চুয়াল হোস্টকে একটি কীস্টোরের সাথে সংযুক্ত করুন যাতে TLS হ্যান্ডশেকিংয়ের সময় ভার্চুয়াল হোস্টের দ্বারা ব্যবহৃত শংসাপত্র এবং ব্যক্তিগত কী থাকে৷
ভার্চুয়াল হোস্ট সম্পর্কে অতিরিক্ত তথ্যের জন্য, দেখুন:
- ভার্চুয়াল হোস্ট সম্পর্কে
- ব্যক্তিগত ক্লাউডের জন্য একটি API-তে TLS অ্যাক্সেস কনফিগার করা হচ্ছে
- কীস্টোর এবং ট্রাস্টস্টোর
হোস্ট উপনামের সাথে SNI কিভাবে কাজ করে
SNI আপনাকে একই পোর্টে একাধিক ভার্চুয়াল হোস্ট সংজ্ঞায়িত করার অনুমতি দেয়, প্রতিটিতে বিভিন্ন TLS শংসাপত্র এবং কী রয়েছে। TLS হ্যান্ডশেক অনুরোধে server_name
এক্সটেনশনের উপর ভিত্তি করে এজ তারপর ভার্চুয়াল হোস্ট এবং TLS দ্বারা ব্যবহৃত শংসাপত্র/কী জোড়া নির্ধারণ করে।
এজ রাউটার টিএলএস হ্যান্ডশেক অনুরোধে server_name
এক্সটেনশনটি পড়ে এবং তারপর এটিকে সমস্ত ভার্চুয়াল হোস্ট থেকে হোস্ট উপনামের বিরুদ্ধে অনুসন্ধান করতে ব্যবহার করে। যদি রাউটার একটি হোস্ট উপনামের সাথে একটি মিল সনাক্ত করে, রাউটার হোস্ট উপনামের সাথে যুক্ত ভার্চুয়াল হোস্ট থেকে TLS শংসাপত্র এবং কী ব্যবহার করে। যদি কোনো মিল পাওয়া না যায়, TLS হ্যান্ডশেকিং ব্যর্থ হয়।
TLS হ্যান্ডশেক ব্যর্থ হওয়ার পরিবর্তে, আপনি একটি ডিফল্ট শংসাপত্র/কী জোড়া সংজ্ঞায়িত করতে পারেন, যেমনটি পরবর্তী বিভাগে বর্ণিত হয়েছে।
ক্লাউডের জন্য এজে একটি ডিফল্ট শংসাপত্র/কী জোড়া সংজ্ঞায়িত করা
Apigee HTTPS সমর্থন করার জন্য একটি TLS শংসাপত্র এবং ব্যক্তিগত কী প্রদান করে। যদিও অনেক গ্রাহক তাদের নিজস্ব শংসাপত্র এবং ব্যক্তিগত কী ব্যবহার করতে পছন্দ করেন, আপনি Apigee শংসাপত্র এবং কী ব্যবহার করে আপনার API গুলি স্থাপন করতে পারেন৷
এজ ফর দ্য ক্লাউডে, রাউটার যদি SNI হেডারের সাথে হোস্ট উপনামের সাথে মেলে না বা যদি ক্লায়েন্ট SNI সমর্থন না করে, তাহলে রাউটার Apigee দ্বারা প্রদত্ত ডিফল্ট শংসাপত্র ব্যবহার করে, যা *.apigee.net।
প্রাইভেট ক্লাউডের জন্য এজে একটি ডিফল্ট শংসাপত্র/কী জোড়া সংজ্ঞায়িত করা
প্রাইভেট ক্লাউডের জন্য এজ-এ, server_name
এক্সটেনশন এবং সমস্ত ভার্চুয়াল হোস্টের হোস্ট উপনামের মধ্যে কোনো মিল না পাওয়া গেলে, অথবা অনুরোধকারী ক্লায়েন্ট যদি SNI সমর্থন না করে, তাহলে আপনি ডিফল্ট ভার্চুয়াল থেকে সার্টি/কী ব্যবহার করার জন্য রাউটার কনফিগার করতে পারেন। বন্দরে হোস্ট। ডিফল্ট ভার্চুয়াল হোস্ট সংগঠনের নাম, পরিবেশের নাম এবং ভার্চুয়াল হোস্ট নামের সংমিশ্রণ দ্বারা সংজ্ঞায়িত করা হয়, ফর্মটিতে:
orgName_envName_vhName
রাউটার orgName_envName_vhName এর সংমিশ্রণ থেকে সার্টি/কী ব্যবহার করে যা বর্ণানুক্রমিক ক্রমে প্রথমে আসে। উদাহরণস্বরূপ, অনুরোধটি পোর্ট 443-এ আসে এবং পরিবেশ prod
org example
জন্য দুটি ভার্চুয়াল হোস্ট সংজ্ঞায়িত করা হয়েছে:
- ভার্চুয়াল হোস্ট নাম =
default
- ভার্চুয়াল হোস্ট নাম =
test
এই উদাহরণে, রাউটার default
নামের ভার্চুয়াল হোস্ট থেকে সার্টি/কী ব্যবহার করে কারণ example_prod_default
বর্ণানুক্রমিকভাবে example_prod_test
এর আগে আসে।
ডিফল্ট ভার্চুয়াল হোস্ট সক্ষম করতে:
- প্রথম রাউটার নোডে,
/opt/apigee/customer/application/router.properties
সম্পাদনা করুন। যদি সেই ফাইলটি বিদ্যমান না থাকে তবে এটি তৈরি করুন। - একটি ডিফল্ট ভার্চুয়াল হোস্ট সংজ্ঞায়িত করতে আপনাকে সক্ষম করতে ফাইলটিতে নিম্নলিখিত বৈশিষ্ট্য যুক্ত করুন:
conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true
- রাউটার পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- সমস্ত অবশিষ্ট রাউটারগুলিতে এই পদক্ষেপগুলি পুনরাবৃত্তি করুন।
ডিফল্ট ভার্চুয়াল হোস্ট থেকে শংসাপত্র/কী ব্যবহার করার পরিবর্তে, আপনি রাউটারে ডিফল্ট শংসাপত্র/কী স্পষ্টভাবে সংজ্ঞায়িত করতে পারেন। একটি স্পষ্ট ডিফল্ট শংসাপত্র/কী জোড়া সংজ্ঞায়িত করতে নিম্নলিখিত পদ্ধতি ব্যবহার করুন:
- প্রথম রাউটার নোডে, শংসাপত্র এবং ব্যক্তিগত কীটি রাউটার নোডের একটি অবস্থানে অনুলিপি করুন যা এপিজি ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য। উদাহরণস্বরূপ,
/opt/apigee/customer/application
। - ফাইলগুলির মালিকানা 'এপিজি'-তে পরিবর্তন করুন। ব্যবহারকারী:
chown apigee:apigee /opt/apigee/customer/application/myCert.pem
chown apigee:apigee /opt/apigee/customer/application/myKey.pem
/opt/apigee/customer/application/router.properties
সম্পাদনা করুন। যদি সেই ফাইলটি বিদ্যমান না থাকে তবে এটি তৈরি করুন।- ডিফল্ট শংসাপত্র/কী নির্দিষ্ট করতে আপনাকে সক্ষম করতে ফাইলটিতে নিম্নলিখিত বৈশিষ্ট্যগুলি যুক্ত করুন:
conf_load_balancing_load.balancing.driver.nginx.fallback.server.default.ssl.template.enabled=true
conf_load_balancing_load.balancing.driver.nginx.fallback.conf.enabled=true - certy এবং কী-এর অবস্থান নির্দিষ্ট করতে
router.properties
এ নিম্নলিখিত বৈশিষ্ট্যগুলি সেট করুন:conf_load_balancing_load.balancing.driver.nginx.ssl.cert=/opt/apigee/customer/application/myCert.pem conf_load_balancing_load.balancing.driver.nginx.ssl.key=/opt/apigee/customer/application/myKey.pem
- রাউটার পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- সমস্ত অবশিষ্ট রাউটারগুলিতে এই পদক্ষেপগুলি পুনরাবৃত্তি করুন।
এজ থেকে ব্যাকএন্ডে অনুরোধের জন্য SNI সমর্থন করে
এজ ক্লাউড এবং ব্যক্তিগত ক্লাউড স্থাপনার জন্য Apigee এজ-এ শেষ পয়েন্টগুলি লক্ষ্য করতে মেসেজ প্রসেসর থেকে SNI ব্যবহার সমর্থন করে। ডিফল্টরূপে, ক্লাউডের জন্য এজ মেসেজ প্রসেসরে এসএনআই সক্ষম এবং ব্যক্তিগত ক্লাউডে অক্ষম করা হয়।
ব্যক্তিগত ক্লাউডের জন্য এজের ব্যাকএন্ডে SNI ব্যবহার করা
প্রাইভেট ক্লাউডের জন্য এজ-এর জন্য, বিদ্যমান টার্গেট ব্যাকএন্ডগুলির সাথে পিছিয়ে সামঞ্জস্যপূর্ণ হওয়ার জন্য, Apigee ডিফল্টরূপে SNI অক্ষম করেছে৷ যদি আপনার টার্গেট ব্যাকএন্ড SNI সমর্থন করার জন্য কনফিগার করা থাকে, তাহলে আপনি আপনার এজ সংস্করণের জন্য নীচে বর্ণিত হিসাবে এই বৈশিষ্ট্যটি সক্ষম করতে পারেন।
অন্য কোন এজ-নির্দিষ্ট কনফিগারেশনের প্রয়োজন নেই। যদি আপনার টার্গেট এনভায়রনমেন্ট SNI-এর জন্য কনফিগার করা থাকে, এজ এটিকে সমর্থন করে। এজ স্বয়ংক্রিয়ভাবে অনুরোধ URL থেকে হোস্টনাম বের করে এবং TLS হ্যান্ডশেক অনুরোধে যোগ করে।
এজ সংস্করণ 4.15.07.0x এর জন্য এজ এবং ব্যাকএন্ডের মধ্যে SNI সক্ষম করুন
SNI সক্ষম করতে নিম্নলিখিত পদ্ধতি ব্যবহার করুন:
- প্রথম মেসেজ প্রসেসর নোডে, একটি এডিটরে
/opt/apigee4/conf/apigee/message-processor/system.properties
ফাইলটি খুলুন। -
system.properties
এ নিম্নোক্ত প্রপার্টিটিকে সত্য হিসেবে সেট করুন:jsse.enableSNIExtension=true
- বার্তা প্রসেসর পুনরায় চালু করুন:
/opt/apigee4/bin/apigee-service message-processor restart
- সমস্ত অবশিষ্ট বার্তা প্রসেসরে এই পদক্ষেপগুলি পুনরাবৃত্তি করুন৷
এজ সংস্করণ 4.16.01 এবং পরবর্তী সংস্করণের জন্য এজ এবং ব্যাকএন্ডের মধ্যে SNI সক্ষম করুন
SNI সক্ষম করতে নিম্নলিখিত পদ্ধতি ব্যবহার করুন:
- প্রথম মেসেজ প্রসেসর নোডে,
/opt/apigee/customer/application/message-processor.properties
সম্পাদনা করুন। যদি সেই ফাইলটি বিদ্যমান না থাকে তবে এটি তৈরি করুন। - ফাইলে নিম্নলিখিত বৈশিষ্ট্য যোগ করুন:
conf_system_jsse.enableSNIExtension=true
- বার্তা প্রসেসর পুনরায় চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- সমস্ত অবশিষ্ট বার্তা প্রসেসরে এই পদক্ষেপগুলি পুনরাবৃত্তি করুন৷