আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
এজে, একটি রাউটার সমস্ত আগত API ট্র্যাফিক পরিচালনা করে। এর মানে হল একটি API প্রক্সিতে সমস্ত HTTP এবং HTTPS অনুরোধগুলি প্রথমে একটি এজ রাউটার দ্বারা পরিচালিত হয়।
একটি ভার্চুয়াল হোস্ট আপনাকে একটি সার্ভারে একাধিক ডোমেন নাম হোস্ট করতে দেয়। এজের জন্য, সার্ভারটি এজ রাউটারের সাথে মিলে যায়। একটি রাউটারে একাধিক ভার্চুয়াল হোস্ট সংজ্ঞায়িত করে, রাউটার একাধিক ডোমেন নামের API অনুরোধগুলি পরিচালনা করতে পারে।
এজ-এ একটি ভার্চুয়াল হোস্ট অ্যাক্সেস প্রোটোকল (HTTP বা HTTPS), একটি খোলা রাউটার পোর্ট এবং একটি হোস্ট উপনামকে সংজ্ঞায়িত করে। হোস্ট উপনাম হল সাধারণত DNS ডোমেইন নাম যা রাউটারের IP ঠিকানায় ম্যাপ করে।
উদাহরণস্বরূপ, নিম্নলিখিত চিত্রটি দুটি ভার্চুয়াল হোস্ট সংজ্ঞা সহ একটি রাউটার দেখায়:
প্রথম ভার্চুয়াল হোস্ট ডোমেইন ডোমেননেম1- এ HTTPS অনুরোধগুলি পরিচালনা করে এবং দ্বিতীয়টি domainName2- এ HTTP অনুরোধগুলি পরিচালনা করে।
এপিআই প্রক্সির অনুরোধে, রাউটার ইনকামিং রিকোয়েস্টের Host
হেডারকে সব ভার্চুয়াল হোস্ট দ্বারা সংজ্ঞায়িত হোস্ট উপনামের তালিকার সাথে তুলনা করে কোন ভার্চুয়াল হোস্ট অনুরোধটি পরিচালনা করে তা নির্ধারণ করে।
ভার্চুয়াল হোস্ট সংজ্ঞা সম্পর্কে
ভার্চুয়াল হোস্টে নিম্নলিখিত তথ্য থাকে:
- ভার্চুয়াল হোস্টের অভ্যন্তরীণ নাম । আপনি আপনার API প্রক্সিগুলিতে ভার্চুয়াল হোস্টের উল্লেখ করতে এবং ভার্চুয়াল হোস্ট কনফিগার করার সময় সেই নামটি ব্যবহার করেন।
- ভার্চুয়াল হোস্টের হোস্ট উপনাম । সাধারণত হোস্ট উপনাম হল DNS ডোমেইন নাম যা রাউটারের IP ঠিকানায় ম্যাপ করে। একটি API প্রক্সি অনুরোধের
Host
হেডারে ভার্চুয়াল হোস্টের হোস্ট উপনাম থাকতে হবে। - রাউটারে একটি খোলা পোর্ট ।
- TLS (HTTPS অ্যাক্সেস) সক্ষম বা না (HTTP অ্যাক্সেস)।
উদাহরণস্বরূপ, আপনি যখন একটি ভার্চুয়াল হোস্ট তৈরি করেন তখন আপনি নিম্নলিখিত তথ্য উল্লেখ করেন:
- নাম = myvhost
- হোস্ট alias = apis.acme.com
- পোর্ট = 443
- TLS সক্ষম করা হয়েছে
ভার্চুয়াল হোস্টের জন্য উপরের সেটিং এর উপর ভিত্তি করে, একটি API প্রক্সির অনুরোধ ফর্মটি ব্যবহার করে:
https://apis.acme.com/{proxy-base-path}/{resource-path}
কোথায়:
- { proxy-base-path } সংজ্ঞায়িত করা হয় যখন আপনি একটি API প্রক্সি তৈরি করেন এবং প্রতিটি API প্রক্সির জন্য অনন্য। যেমন:
https://apis.acme.com/characters
- { resource-path } API প্রক্সির মাধ্যমে অ্যাক্সেসযোগ্য একটি সম্পদের পথ। যেমন:
https://apis.acme.com/characters/coyote https://apis.acme.com/characters/roadrunner
ক্লাউডের জন্য এজে ভার্চুয়াল হোস্ট সম্পর্কে
প্রতিটি এজ সংস্থা স্বয়ংক্রিয়ভাবে দুটি পরিবেশ ( test
এবং prod
), প্রতিটি পরিবেশে দুটি ভার্চুয়াল হোস্ট ( ডিফল্ট এবং সুরক্ষিত ), এবং প্রতিটি হোস্ট উপনামের জন্য DNS রেকর্ড অন্তর্ভুক্ত করে।
প্রতিটি Apigee-প্রদত্ত ভার্চুয়াল হোস্টের হোস্ট উপনামে সংগঠন এবং পরিবেশের নাম রয়েছে, যা নিম্নলিখিত টেবিলে দেখানো হয়েছে:
পরিবেশ | ভার্চুয়াল হোস্ট নাম | হোস্ট উপনাম | বন্দর | TLS সক্ষম |
---|---|---|---|---|
পণ্য | ডিফল্ট | {org-name}- prod .apigee.net | 80 | না |
নিরাপদ | {org-name}- prod .apigee.net | 443 | হ্যাঁ | |
পরীক্ষা | ডিফল্ট | {org-name}- test .apigee.net | 80 | না |
নিরাপদ | {org-name}- test .apigee.net | 443 | হ্যাঁ |
উদাহরণস্বরূপ, prod
পরিবেশে " myorg
" নামক একটি প্রতিষ্ঠানের ডিফল্ট ডোমেইন নাম হল " myorg-prod.apigee.net
"৷ অতএব, সেই সংস্থায় একটি API প্রক্সি অ্যাক্সেস করতে, আপনি ফর্মটিতে একটি URL ব্যবহার করুন:
http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path} https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
Apigee অর্থপ্রদানের পরিকল্পনা: "apigee.net" সম্বলিত একটি ডোমেন নাম এমন নাও হতে পারে যা আপনি আপনার গ্রাহকদের কাছে প্রকাশ করতে চান। আপনি এজ-এ আপনার প্রতিষ্ঠানে একটি ডোমেন নাম ম্যাপ করতে একটি DNS এন্ট্রি এবং CNAME রেকর্ড ব্যবহার করতে পারেন। আপনাকে অবশ্যই সেই ডোমেন নামের সাথে হোস্ট উপনাম সেট করে একটি ভার্চুয়াল হোস্ট তৈরি করতে হবে। এটি ডেভেলপারদের আপনার কোম্পানির জন্য নির্দিষ্ট একটি ডোমেনের মাধ্যমে আপনার API অ্যাক্সেস করতে দেয়।
এখানে এজ-এ একটি কাস্টম ডোমেনের একটি উদাহরণ রয়েছে:
https://apis.acme.com/{proxy-base-path}/{resource-path}
প্রাইভেট ক্লাউডের জন্য এজে ভার্চুয়াল হোস্ট সম্পর্কে
যখন আপনি প্রাইভেট ক্লাউডের জন্য Apigee Edge ইনস্টল করেন, তখন আপনার জন্য কোনো ডিফল্ট প্রতিষ্ঠান, পরিবেশ বা ভার্চুয়াল হোস্ট তৈরি করা হয় না। আপনি এজ ইনস্টলেশন প্রক্রিয়াটি সম্পূর্ণ করার পরে, আপনার প্রথম কাজটি সাধারণত "অনবোর্ডিং" প্রক্রিয়ার মাধ্যমে একটি সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্ট তৈরি করা।
অনবোর্ডিং করতে, এজ ম্যানেজমেন্ট সার্ভার নোডে নিম্নলিখিত কমান্ডটি চালান:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
যেখানে configFile একটি ব্যবহারকারী, সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্ট তৈরি করার জন্য প্রয়োজনীয় তথ্য ধারণ করে।
উদাহরণস্বরূপ, আপনি তৈরি করুন:
- প্রতিষ্ঠানের প্রশাসক হিসেবে কাজ করার জন্য আপনার পছন্দের একজন ব্যবহারকারী
-
example
নামে একটি সংস্থা - প্রতিষ্ঠানে একটি পরিবেশ যার নাম
prod
-
default
নামে পরিবেশে একটি ভার্চুয়াল হোস্ট যা পোর্ট 9001-এ HTTP অ্যাক্সেসের অনুমতি দেয় - রাউটার অ্যাক্সেস করতে ব্যবহৃত DNS নামের একটি হোস্ট উপনাম, অথবা রাউটারের IP ঠিকানা এবং ভার্চুয়াল হোস্টের পোর্ট
IP:9001
আকারে।
আপনি পরবর্তীতে আপনার এজ-এর অন-প্রিমিসেস সংস্করণে যেকোন সংখ্যক সংস্থা, পরিবেশ এবং ভার্চুয়াল হোস্ট যোগ করতে পারেন। আরও তথ্যের জন্য, দেখুন:
এজ রাউটারে ভার্চুয়াল হোস্ট খোলা হয়। অতএব, আপনাকে নিশ্চিত করতে হবে যে ভার্চুয়াল হোস্টের জন্য আপনি যে পোর্টটি নির্দিষ্ট করেছেন সেটি রাউটারে খোলা আছে। আপনি একটি পোর্ট খুলতে নীচের ফর্মে একটি কমান্ড ব্যবহার করতে পারেন:
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}
সাধারণত, আপনি একটি IP ঠিকানা এবং পোর্ট নম্বর সহ গ্রাহকদের কাছে আপনার API প্রকাশ করেন না। পরিবর্তে, আপনি রাউটার এবং পোর্টের জন্য একটি DNS এন্ট্রি সংজ্ঞায়িত করুন। যেমন:
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}
আপনি যখন DNS এন্ট্রি সংজ্ঞায়িত করেন, তখন আপনাকে অবশ্যই একটি হোস্ট উপনামের সাথে একটি ভার্চুয়াল হোস্ট তৈরি করতে হবে যা DNS এন্ট্রির ডোমেন নামের সাথে মেলে। উপরের উদাহরণ থেকে, আপনি ভার্চুয়াল হোস্ট তৈরি করার সময় myAPI.myCo.com-এর একটি হোস্ট উপনাম নির্দিষ্ট করবেন।
হোস্ট উপনাম এবং DNS নাম সম্পর্কে
আপনি একটি ভার্চুয়াল হোস্টের জন্য সেট করেছেন এমন একটি সম্পত্তি হল হোস্ট উপনাম । হোস্ট উপনাম সাধারণত ভার্চুয়াল হোস্টের DNS নাম। আপনি কীভাবে হোস্ট উপনাম সেট করবেন তা আপনার এজ ইনস্টলেশনের ধরণের উপর নির্ভর করে: ক্লাউড বা প্রাইভেট ক্লাউড।
ক্লাউডের জন্য এজ-এ হোস্ট উপনাম এবং DNS নাম
এজ ফর দ্য ক্লাউডে, আপনি যখন প্রথম একটি এজ প্রতিষ্ঠান তৈরি করেন, তখন Apigee স্বয়ংক্রিয়ভাবে দুটি পরিবেশ ( test
এবং prod
), প্রতিটি পরিবেশে দুটি ভার্চুয়াল হোস্ট ( ডিফল্ট এবং সুরক্ষিত ), এবং প্রতিটি ভার্চুয়াল হোস্টের জন্য 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 রেকর্ড তৈরি করতে হবে৷
নিম্নলিখিত চিত্রটি এজ কীভাবে একটি API অনুরোধ প্রক্রিয়া করে তার জন্য একটি সাধারণ কনফিগারেশন দেখায়:
এই উদাহরণে:
- api.acme.com হল আপনার কাঙ্খিত ডোমেইন নাম।
- আপনি api.acme.com কে acme-prod.apigee.net এ পয়েন্ট করার জন্য একটি DNS এন্ট্রি এবং CNAME রেকর্ড সংজ্ঞায়িত করুন।
- অনুরোধে
Host
হেডার রয়েছে যা রাউটার ভার্চুয়াল হোস্ট নির্ধারণ করতে ব্যবহার করে যা অনুরোধটি পরিচালনা করে।
এই উদাহরণে, আপনি একটি ভার্চুয়াল হোস্ট সংজ্ঞাতে নিম্নলিখিত তথ্যগুলি নির্দিষ্ট করুন:
- নাম = myvhost
- হোস্ট alias = apis.acme.com
- পোর্ট = 443
- TLS অ্যাক্সেস সক্ষম করুন
আরও জানতে ক্লাউডের জন্য ভার্চুয়াল হোস্ট কনফিগার করা দেখুন।
ব্যক্তিগত ক্লাউডের জন্য এজ-এ হোস্ট উপনাম এবং DNS নাম
ক্লাউডের জন্য এজ এর মতো, আপনি ভার্চুয়াল হোস্ট তৈরি করেন যা হোস্ট উপনামের জন্য আপনার নিজের ডোমেন নাম ব্যবহার করে। তারপরে আপনি সেই ভার্চুয়াল হোস্টগুলি অ্যাক্সেস করতে আপনার নিজস্ব DNS এন্ট্রি এবং CNAME রেকর্ড তৈরি করুন৷
ক্লাউড এবং প্রাইভেট ক্লাউডের মধ্যে পার্থক্যগুলির মধ্যে একটি হল যে ক্লাউডে অ্যাপিজি স্বয়ংক্রিয়ভাবে আপনার সংস্থাগুলির জন্য DNS নাম তৈরি করেছে, ফর্মটিতে:
- name= ডিফল্ট :
http://{ org-name }-{ env-name }.apigee.net
(রাউটার পোর্ট 80) - name= নিরাপদ :
https://{ org-name }-{ env-name }.apigee.net
(রাউটার পোর্ট 443)
প্রাইভেট ক্লাউডের জন্য এজে, আপনাকে আপনার রাউটারের আইপি ঠিকানা এবং পোর্টে DNS এন্ট্রি তৈরি করতে হবে।
উদাহরণস্বরূপ, আপনি একটি ভার্চুয়াল হোস্ট সংজ্ঞায় এই তথ্যটি উল্লেখ করেছেন:
- নাম = myvhost
- হোস্ট alias = apis.acme.com
- পোর্ট = 9001
- TLS অ্যাক্সেস সক্ষম করুন
নিম্নলিখিত চিত্রটি এজ কীভাবে একটি API অনুরোধ প্রক্রিয়া করে তার জন্য একটি সাধারণ কনফিগারেশন দেখায়:
এই উদাহরণে:
- api.acme.com হল আপনার কাঙ্খিত ডোমেইন নাম।
- আপনি রাউটারের IP ঠিকানা এবং পোর্টে api.acme.com নির্দেশ করতে একটি DNS এন্ট্রি এবং CNAME রেকর্ড সংজ্ঞায়িত করুন৷
- অনুরোধে
Host
হেডার রয়েছে যা রাউটার ভার্চুয়াল হোস্ট নির্ধারণ করতে ব্যবহার করে যা অনুরোধটি পরিচালনা করে।
আরও জানতে প্রাইভেট ক্লাউডের জন্য ভার্চুয়াল হোস্ট কনফিগার করা দেখুন।
হোস্ট উপনাম এবং ওয়াইল্ডকার্ড
আপনি হোস্ট উপনামে "*" ওয়াইল্ডকার্ড অক্ষর অন্তর্ভুক্ত করতে পারেন। "*" ওয়াইল্ডকার্ড অক্ষরটি শুধুমাত্র হোস্ট উপনামের শুরুতে (প্রথম "।") হতে পারে এবং অন্য অক্ষরের সাথে মিশ্রিত করা যাবে না।
নিম্নলিখিত একটি ওয়াইল্ডকার্ড ব্যবহার করে একটি বৈধ হোস্ট উপনামের একটি উদাহরণ:
*.example.com
নিম্নলিখিত উদাহরণগুলি অবৈধ:
www.*.example.com w*.example.com
একটি ভার্চুয়াল হোস্ট উপনামে একটি ওয়াইল্ডকার্ড ব্যবহার করে API প্রক্সিগুলিকে একাধিক সাবডোমেন যেমন alpha.example.com
, beta.example.com
, বা live.example.com
এ সম্বোধন করা কলগুলি পরিচালনা করতে দেয়৷ ওয়াইল্ডকার্ড উপনাম ব্যবহার করা আপনাকে পণ্যের সীমার মধ্যে থাকার জন্য পরিবেশ প্রতি কম ভার্চুয়াল হোস্ট ব্যবহার করতে সহায়তা করে, যেহেতু ওয়াইল্ডকার্ড সহ একটি ভার্চুয়াল হোস্ট শুধুমাত্র একটি ভার্চুয়াল হোস্ট হিসাবে গণনা করে।
ভার্চুয়াল হোস্টের জন্য TLS শংসাপত্রে অবশ্যই শংসাপত্রের CN নামে একটি মিলে যাওয়া ওয়াইল্ডকার্ড থাকতে হবে। উদাহরণস্বরূপ, *.example.com
।
ভার্চুয়াল হোস্ট বৈশিষ্ট্য সম্পর্কে
এজ এ, একটি ভার্চুয়াল হোস্ট একটি 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>
আপনি ক্লাউডের জন্য এজ বা প্রাইভেট ক্লাউডের জন্য এজ ব্যবহার করছেন কিনা তার উপর ভিত্তি করে আপনি সেট করতে পারেন এমন বৈশিষ্ট্যের তালিকা। আপনি যদি প্রাইভেট ক্লাউডের জন্য এজ ব্যবহার করেন তবে উপলব্ধ বৈশিষ্ট্যের তালিকাটি আপনার এজের সংস্করণের উপরও নির্ভরশীল। ভার্চুয়াল হোস্টের সমস্ত বৈশিষ্ট্যের সম্পূর্ণ বিবরণের জন্য, ভার্চুয়াল হোস্ট সম্পত্তি রেফারেন্স দেখুন।
আপনার এজের নির্দিষ্ট সংস্করণের জন্য ভার্চুয়াল হোস্ট তৈরি করার বিষয়ে আরও জানতে, দেখুন: