ভার্চুয়াল হোস্ট সম্পর্কে

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

Edge-এ, একটি রাউটার সমস্ত ইনকামিং API ট্র্যাফিক পরিচালনা করে। এর মানে হলো, একটি API প্রক্সিতে পাঠানো সমস্ত HTTP এবং HTTPS অনুরোধ প্রথমে একটি Edge রাউটার দ্বারা পরিচালিত হয়।

একটি ভার্চুয়াল হোস্ট আপনাকে একটি সার্ভারে একাধিক ডোমেইন নেম হোস্ট করার সুযোগ দেয়। Edge-এর ক্ষেত্রে, এই সার্ভারটি একটি Edge রাউটারকে বোঝায়। একটি রাউটারে একাধিক ভার্চুয়াল হোস্ট নির্ধারণ করার মাধ্যমে, রাউটারটি একাধিক ডোমেইন নেমের এপিআই (API) অনুরোধগুলো পরিচালনা করতে পারে।

Edge-এর একটি ভার্চুয়াল হোস্ট অ্যাক্সেস প্রোটোকল (HTTP বা HTTPS), একটি খোলা রাউটার পোর্ট এবং একটি হোস্ট অ্যালিয়াস নির্ধারণ করে। হোস্ট অ্যালিয়াসটি সাধারণত DNS ডোমেইন নেম হয়, যা রাউটারের IP অ্যাড্রেসের সাথে ম্যাপ করা থাকে।

উদাহরণস্বরূপ, নিচের ছবিতে দুটি ভার্চুয়াল হোস্ট ডেফিনিশন সহ একটি রাউটার দেখানো হয়েছে:

প্রথম ভার্চুয়াল হোস্টটি domainName1 ডোমেইনে HTTPS অনুরোধগুলি এবং দ্বিতীয়টি domainName2 ডোমেইনে HTTP অনুরোধগুলি পরিচালনা করে।

এপিআই প্রক্সিতে কোনো অনুরোধ পাঠানো হলে, কোন ভার্চুয়াল হোস্ট অনুরোধটি পরিচালনা করবে তা নির্ধারণ করার জন্য রাউটার আগত অনুরোধের Host হেডারটিকে সমস্ত ভার্চুয়াল হোস্ট দ্বারা সংজ্ঞায়িত হোস্ট অ্যালিয়াসের তালিকার সাথে তুলনা করে।

ভার্চুয়াল হোস্ট সংজ্ঞা সম্পর্কে

ভার্চুয়াল হোস্টে নিম্নলিখিত তথ্য থাকে:

  • ভার্চুয়াল হোস্টের অভ্যন্তরীণ নাম । আপনার এপিআই প্রক্সিতে ভার্চুয়াল হোস্টকে উল্লেখ করতে এবং ভার্চুয়াল হোস্ট কনফিগার করার সময় আপনি এই নামটি ব্যবহার করেন।
  • ভার্চুয়াল হোস্টের হোস্ট অ্যালিয়াস । সাধারণত হোস্ট অ্যালিয়াস হলো সেই ডিএনএস ডোমেইন নেম যা রাউটারের আইপি অ্যাড্রেসের সাথে ম্যাপ করা থাকে। একটি এপিআই প্রক্সি রিকোয়েস্টের Host হেডারে অবশ্যই ভার্চুয়াল হোস্টের হোস্ট অ্যালিয়াসটি থাকতে হবে।
  • রাউটারে একটি খোলা পোর্ট
  • TLS (HTTPS অ্যাক্সেস) সক্রিয় আছে কি নেই (HTTP অ্যাক্সেস)।

উদাহরণস্বরূপ, একটি ভার্চুয়াল হোস্ট তৈরি করার সময় আপনি নিম্নলিখিত তথ্যগুলো উল্লেখ করেন:

  • নাম = আমার হোস্ট
  • হোস্ট উপনাম = apis.acme.com
  • পোর্ট = ৪৪৩
  • TLS সক্রিয় করা হয়েছে

ভার্চুয়াল হোস্টের উপরের সেটিং অনুসারে, একটি এপিআই প্রক্সিতে করা অনুরোধ নিম্নলিখিত রূপটি ব্যবহার করে:

https://apis.acme.com/{proxy-base-path}/{resource-path}

যেখানে:

  • { proxy-base-path } একটি এপিআই প্রক্সি তৈরি করার সময় সংজ্ঞায়িত করা হয় এবং এটি প্রতিটি এপিআই প্রক্সির জন্য অনন্য। উদাহরণস্বরূপ:
    https://apis.acme.com/characters
  • { resource-path } এপিআই প্রক্সির মাধ্যমে অ্যাক্সেসযোগ্য একটি রিসোর্সের পাথ। উদাহরণস্বরূপ:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

Edge for the Cloud-এ ভার্চুয়াল হোস্ট সম্পর্কে

প্রতিটি এজ অর্গানাইজেশনে স্বয়ংক্রিয়ভাবে দুটি এনভায়রনমেন্ট ( test এবং prod ), প্রতিটি এনভায়রনমেন্টে দুটি ভার্চুয়াল হোস্ট ( ডিফল্ট এবং সিকিওর ), এবং প্রতিটি হোস্ট অ্যালিয়াসের জন্য ডিএনএস রেকর্ড অন্তর্ভুক্ত থাকে।

Apigee-প্রদত্ত প্রতিটি ভার্চুয়াল হোস্টের হোস্ট অ্যালিয়াসে সংস্থা এবং পরিবেশের নাম থাকে, যেমনটি নিম্নলিখিত সারণিতে দেখানো হয়েছে:

পরিবেশ ভার্চুয়াল হোস্টের নাম হোস্ট উপনাম বন্দর TLS সক্রিয়
উৎপাদন ডিফল্ট {org-name}- prod .apigee.net ৮০ না
সুরক্ষিত {org-name}- prod .apigee.net ৪৪৩ হ্যাঁ
পরীক্ষা ডিফল্ট {org-name}- test .apigee.net ৮০ না
সুরক্ষিত {org-name}- test .apigee.net ৪৪৩ হ্যাঁ

উদাহরণস্বরূপ, prod এনভায়রনমেন্টে " myorg " নামক একটি অর্গানাইজেশনের ডিফল্ট ডোমেইন নেম হলো " myorg-prod.apigee.net "। সুতরাং, সেই অর্গানাইজেশনের একটি এপিআই প্রক্সি অ্যাক্সেস করতে, আপনাকে এই ধরনের একটি ইউআরএল ব্যবহার করতে হবে:

http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}

Apigee-এর পেইড প্ল্যান: "apigee.net" যুক্ত একটি ডোমেইন নেম হয়তো আপনি আপনার গ্রাহকদের কাছে প্রকাশ করতে চাইবেন না। Edge-এ আপনার প্রতিষ্ঠানের সাথে একটি ডোমেইন নেম ম্যাপ করার জন্য আপনি একটি DNS এন্ট্রি এবং CNAME রেকর্ড ব্যবহার করতে পারেন। এছাড়াও, আপনাকে অবশ্যই সেই ডোমেইন নেমটিকে হোস্ট অ্যালিয়াস হিসেবে সেট করে একটি ভার্চুয়াল হোস্ট তৈরি করতে হবে। এর ফলে ডেভেলপাররা আপনার কোম্পানির জন্য নির্দিষ্ট একটি ডোমেইনের মাধ্যমে আপনার API অ্যাক্সেস করতে পারে।

Edge-এ একটি কাস্টম ডোমেইনের উদাহরণ নিচে দেওয়া হলো:

https://apis.acme.com/{proxy-base-path}/{resource-path}

প্রাইভেট ক্লাউডের জন্য এজ-এ ভার্চুয়াল হোস্ট সম্পর্কে

আপনি যখন প্রাইভেট ক্লাউডের জন্য Apigee Edge ইনস্টল করেন, তখন আপনার জন্য কোনো ডিফল্ট অর্গানাইজেশন, এনভায়রনমেন্ট বা ভার্চুয়াল হোস্ট তৈরি করা থাকে না। Edge ইনস্টলেশন প্রক্রিয়াটি সম্পন্ন করার পর, আপনার প্রথম কাজ হলো সাধারণত 'অনবোর্ডিং' প্রক্রিয়ার মাধ্যমে একটি অর্গানাইজেশন, এনভায়রনমেন্ট এবং ভার্চুয়াল হোস্ট তৈরি করা।

অনবোর্ডিং সম্পন্ন করতে, এজ ম্যানেজমেন্ট সার্ভার নোডে নিম্নলিখিত কমান্ডটি চালান:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

যেখানে configFile-এ ব্যবহারকারী, সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্ট তৈরি করার জন্য প্রয়োজনীয় তথ্য থাকে।

উদাহরণস্বরূপ, আপনি তৈরি করেন:

  • আপনার পছন্দের একজন ব্যবহারকারী প্রতিষ্ঠানের প্রশাসক হিসেবে কাজ করবেন।
  • example নামক একটি সংস্থা
  • সংগঠনে prod নামক একটি পরিবেশ
  • default নামের এনভায়রনমেন্টে অবস্থিত একটি ভার্চুয়াল হোস্ট যা 9001 পোর্টে HTTP অ্যাক্সেসের অনুমতি দেয়।
  • রাউটার অ্যাক্সেস করার জন্য ব্যবহৃত DNS নামের একটি হোস্ট অ্যালিয়াস, অথবা রাউটারের IP অ্যাড্রেস এবং ভার্চুয়াল হোস্টের পোর্ট, যা IP:9001 আকারে থাকে।

আপনি পরবর্তীতে আপনার Edge-এর অন-প্রিমিসেস সংস্করণে যেকোনো সংখ্যক অর্গানাইজেশন, এনভায়রনমেন্ট এবং ভার্চুয়াল হোস্ট যোগ করতে পারবেন। আরও তথ্যের জন্য দেখুন:

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

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose

ওই কমান্ডটি চালানোর পর, আপনি নিম্নলিখিত ফর্ম্যাটের একটি URL ব্যবহার করে আপনার API-গুলি অ্যাক্সেস করতে পারবেন:

http://<router-ip>:9001/{proxy-base-path}/{resource-path}

সাধারণত, আপনি আইপি অ্যাড্রেস এবং পোর্ট নম্বর দিয়ে গ্রাহকদের কাছে আপনার এপিআই প্রকাশ করেন না। এর পরিবর্তে, আপনি রাউটার এবং পোর্টের জন্য একটি ডিএনএস এন্ট্রি নির্ধারণ করেন। উদাহরণস্বরূপ:

http://myAPI.myCo.com/{proxy-base-path}/{resource-path}

যখন আপনি ডিএনএস এন্ট্রি নির্ধারণ করবেন, তখন আপনাকে অবশ্যই একটি ভার্চুয়াল হোস্টও তৈরি করতে হবে যার হোস্ট অ্যালিয়াসটি ডিএনএস এন্ট্রির ডোমেইন নামের সাথে মিলবে। উপরের উদাহরণ অনুযায়ী, ভার্চুয়াল হোস্ট তৈরি করার সময় আপনাকে myAPI.myCo.com-এর একটি হোস্ট অ্যালিয়াস নির্দিষ্ট করতে হবে।

হোস্ট অ্যালিয়াস এবং ডিএনএস নাম সম্পর্কে

ভার্চুয়াল হোস্টের জন্য আপনি যে প্রপার্টিগুলো সেট করেন, তার মধ্যে একটি হলো হোস্ট অ্যালিয়াস । হোস্ট অ্যালিয়াস সাধারণত ভার্চুয়াল হোস্টের ডিএনএস নাম হয়ে থাকে। আপনি কীভাবে হোস্ট অ্যালিয়াস সেট করবেন, তা আপনার এজ ইনস্টলেশনের ধরনের ওপর নির্ভর করে: ক্লাউড নাকি প্রাইভেট ক্লাউড।

Edge for the Cloud-এ হোস্ট অ্যালিয়াস এবং ডিএনএস নাম

Edge for the Cloud-এ, আপনি যখন প্রথম একটি Edge অর্গানাইজেশন তৈরি করেন, Apigee স্বয়ংক্রিয়ভাবে দুটি এনভায়রনমেন্ট ( test এবং prod ), প্রতিটি এনভায়রনমেন্টে দুটি ভার্চুয়াল হোস্ট ( default এবং secure ), এবং প্রতিটি ভার্চুয়াল হোস্টের জন্য DNS রেকর্ড তৈরি করে।

ভার্চুয়াল হোস্টের হোস্ট অ্যালিয়াসে সংস্থা এবং পরিবেশের নাম থাকে। সুতরাং, একটি ভার্চুয়াল হোস্টের মাধ্যমে করা অনুরোধের রূপটি হলো:

  • http://{ org-name } -prod .apigee.net/{ proxy-base-path }/{ resource-path }
  • https://{ org-name } -prod .apigee.net/{ proxy-base-path }/{ resource-path }
  • http://{ org-name } -test .apigee.net/{ proxy-base-path }/{ resource-path }
  • https://{ org-name } -test .apigee.net/{ proxy-base-path }/{ resource-path }

সাধারণত, আপনি ডিফল্ট apigee.net ডোমেইন ব্যবহার না করে, আপনার নিজের ডোমেইন নাম ব্যবহার করে ভার্চুয়াল হোস্ট তৈরি করতে চাইবেন। এটি করার জন্য, আপনাকে প্রথমে আপনার নিজস্ব DNS এন্ট্রি এবং CNAME রেকর্ড তৈরি করতে হবে।

নিম্নলিখিত চিত্রে দেখানো হয়েছে যে Edge সাধারণত কীভাবে একটি API অনুরোধ প্রক্রিয়া করে তার একটি সাধারণ কনফিগারেশন:

এই উদাহরণে:

  • api.acme.com হলো আপনার কাঙ্ক্ষিত ডোমেইন নাম।
  • আপনি api.acme.com- কে acme-prod.apigee.net-এর দিকে নির্দেশ করার জন্য একটি DNS এন্ট্রি এবং CNAME রেকর্ড সংজ্ঞায়িত করেন।
  • অনুরোধটিতে Host হেডার থাকে, যা ব্যবহার করে রাউটার অনুরোধটি পরিচালনা করবে এমন ভার্চুয়াল হোস্ট নির্ধারণ করে।

এই উদাহরণে, আপনি একটি ভার্চুয়াল হোস্ট সংজ্ঞায় নিম্নলিখিত তথ্যগুলি নির্দিষ্ট করেন:

  • নাম = আমার হোস্ট
  • হোস্ট উপনাম = apis.acme.com
  • পোর্ট = ৪৪৩
  • TLS অ্যাক্সেস সক্ষম করুন

আরও তথ্যের জন্য ক্লাউডের জন্য ভার্চুয়াল হোস্ট কনফিগার করা দেখুন।

Edge for Private Cloud-এ হোস্ট অ্যালিয়াস এবং ডিএনএস নাম

Edge for the Cloud-এর মতোই, আপনি ভার্চুয়াল হোস্ট তৈরি করেন যা হোস্ট অ্যালিয়াসের জন্য আপনার নিজস্ব ডোমেইন নাম ব্যবহার করে। এরপর, সেই ভার্চুয়াল হোস্টগুলো অ্যাক্সেস করার জন্য আপনি আপনার নিজস্ব DNS এন্ট্রি এবং CNAME রেকর্ড তৈরি করেন।

ক্লাউড এবং প্রাইভেট ক্লাউডের মধ্যে একটি পার্থক্য হলো, ক্লাউডে Apigee আপনার প্রতিষ্ঠানের জন্য স্বয়ংক্রিয়ভাবে নিম্নলিখিত রূপে DNS নাম তৈরি করে:

  • নাম= ডিফল্ট : http://{ org-name }-{ env-name }.apigee.net (রাউটার পোর্ট ৮০)
  • নাম= সুরক্ষিত : https://{ org-name }-{ env-name }.apigee.net (রাউটার পোর্ট ৪৪৩)

Edge for the Private Cloud-এ, আপনাকে আপনার রাউটারের আইপি অ্যাড্রেস এবং পোর্টের জন্য ডিএনএস এন্ট্রি তৈরি করতে হবে।

উদাহরণস্বরূপ, আপনি একটি ভার্চুয়াল হোস্ট সংজ্ঞায় এই তথ্যটি নির্দিষ্ট করেন:

  • নাম = আমার হোস্ট
  • হোস্ট উপনাম = apis.acme.com
  • বন্দর = ৯০০১
  • TLS অ্যাক্সেস সক্ষম করুন

নিম্নলিখিত চিত্রে দেখানো হয়েছে যে Edge সাধারণত কীভাবে একটি API অনুরোধ প্রক্রিয়া করে তার একটি সাধারণ কনফিগারেশন:

এই উদাহরণে:

  • api.acme.com হলো আপনার কাঙ্ক্ষিত ডোমেইন নাম।
  • আপনি api.acme.com-কে রাউটারের আইপি অ্যাড্রেস ও পোর্টের দিকে নির্দেশ করার জন্য একটি DNS এন্ট্রি এবং CNAME রেকর্ড নির্ধারণ করেন।
  • অনুরোধটিতে Host হেডার থাকে, যা ব্যবহার করে রাউটার অনুরোধটি পরিচালনা করবে এমন ভার্চুয়াল হোস্ট নির্ধারণ করে।

আরও তথ্যের জন্য প্রাইভেট ক্লাউডের জন্য ভার্চুয়াল হোস্ট কনফিগার করা দেখুন।

হোস্ট উপনাম এবং ওয়াইল্ডকার্ড

আপনি হোস্ট অ্যালিয়াসে "*" ওয়াইল্ডকার্ড ক্যারেক্টারটি অন্তর্ভুক্ত করতে পারেন। "*" ওয়াইল্ডকার্ড ক্যারেক্টারটি শুধুমাত্র হোস্ট অ্যালিয়াসের শুরুতে (প্রথম "." এর আগে) থাকতে পারে এবং অন্য কোনো ক্যারেক্টারের সাথে মেশানো যাবে না।

নিম্নলিখিতটি ওয়াইল্ডকার্ড ব্যবহার করে একটি বৈধ হোস্ট অ্যালিয়াসের উদাহরণ:

*.example.com

নিম্নলিখিত উদাহরণগুলি অবৈধ:

  www.*.example.com
  w*.example.com

ভার্চুয়াল হোস্ট অ্যালিয়াসে ওয়াইল্ডকার্ড ব্যবহার করলে এপিআই প্রক্সিগুলো alpha.example.com , beta.example.com , বা live.example.com এর মতো একাধিক সাবডোমেনে পাঠানো কলগুলো পরিচালনা করতে পারে। ওয়াইল্ডকার্ড অ্যালিয়াস ব্যবহার করলে প্রোডাক্টের সীমা মেনে চলার জন্য প্রতি এনভায়রনমেন্টে কম ভার্চুয়াল হোস্ট ব্যবহার করতে হয়, কারণ ওয়াইল্ডকার্ডসহ একটি ভার্চুয়াল হোস্টকে শুধুমাত্র একটি ভার্চুয়াল হোস্ট হিসেবেই গণ্য করা হয়।

ভার্চুয়াল হোস্টের TLS সার্টিফিকেটের CN নামে অবশ্যই একটি মিলযুক্ত ওয়াইল্ডকার্ড থাকতে হবে। উদাহরণস্বরূপ, *.example.com

ভার্চুয়াল হোস্ট বৈশিষ্ট্য সম্পর্কে

Edge-এ, একটি ভার্চুয়াল হোস্ট একটি XML অবজেক্ট দ্বারা উপস্থাপিত হয়। উদাহরণস্বরূপ, নিম্নলিখিত XML অবজেক্টটি একটি ভার্চুয়াল হোস্টকে সংজ্ঞায়িত করে:

<VirtualHost name="vhostName">
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    <Port>portNumber</Port>
    <BaseURL>http://myCo.com<</BaseUrl>
    <OCSPStapling>off</OCSPStapling>
    <RetryOptions/>
   <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

আপনি Edge for the Cloud নাকি Edge for the Private Cloud ব্যবহার করছেন, তার উপর ভিত্তি করে আপনি যে প্রপার্টিগুলো সেট করতে পারবেন তার তালিকা নির্ধারিত হয়। আপনি যদি Edge for the Private Cloud ব্যবহার করেন, তবে উপলব্ধ প্রপার্টিগুলোর তালিকা আপনার Edge-এর ভার্সনের উপরও নির্ভরশীল। একটি ভার্চুয়াল হোস্টের সমস্ত প্রপার্টির সম্পূর্ণ বিবরণের জন্য, ভার্চুয়াল হোস্ট প্রপার্টি রেফারেন্স দেখুন।

আপনার Edge-এর নির্দিষ্ট সংস্করণের জন্য ভার্চুয়াল হোস্ট তৈরি করার বিষয়ে আরও জানতে, দেখুন: