Edge-এ ভার্চুয়াল হোস্ট ডোমেন এবং Edge রাউটার পোর্টকে সংজ্ঞায়িত করে যেখানে API প্রক্সি প্রকাশ করা হয় এবং এক্সটেনশনের মাধ্যমে, URL যা অ্যাপ API প্রক্সি অ্যাক্সেস করতে ব্যবহার করে। এছাড়াও, ভার্চুয়াল হোস্ট নির্ধারণ করে যে API প্রক্সি HTTP প্রোটোকল নাকি এনক্রিপ্ট করা HTTPS প্রোটোকল ব্যবহার করে অ্যাক্সেস করা হবে।
Edge অনবোর্ডিং প্রসেসের অংশ হিসেবে, আপনাকে একটি প্রতিষ্ঠান, এনভায়রনমেন্ট এবং
ভার্চুয়াল হোস্ট তৈরি করতে হবে। নতুন ব্যবহারকারীদের জন্য এই প্রসেস আরও সহজ করতে
Edge setup-org কমান্ড প্রদান করে।
ভার্চুয়াল হোস্ট তৈরি করার সময় আপনাকে নিম্নলিখিত তথ্য উল্লেখ করতে হবে:
- আপনার API প্রক্সিতে রেফারেন্স হিসেবে ব্যবহার করার জন্য ভার্চুয়াল হোস্টের নাম।
- ভার্চুয়াল হোস্টের জন্য রাউটারে পোর্ট। সাধারণত এইসব পোর্ট ৯০০১ থেকে শুরু হয় এবং প্রতিটি নতুন ভার্চুয়াল হোস্টের জন্য এক এক করে বাড়ে।
- ভার্চুয়াল হোস্টের হোস্ট অ্যালিয়াস। সাধারণত ভার্চুয়াল হোস্টের ডিএনএস নাম।
যেমন, setup-org কমান্ডে পাস করা কনফিগারেশন ফাইলে, আপনি এই তথ্যটি এইভাবে উল্লেখ করতে পারেন:
# Specify virtual host information VHOST_PORT=9001 VHOST_NAME=default # If you have a DNS entry for the virtual host VHOST_ALIAS=myapis.apigee.net
এজ রাউটার ইনকামিং অনুরোধের Host হেডারকে উপলভ্য হোস্ট উপনামের তালিকার সাথে তুলনা করে,
যাতে অনুরোধটি ম্যানেজ করা API প্রক্সি নির্ধারণ করা যায়। ভার্চুয়াল হোস্টের মাধ্যমে অনুরোধ করার সময়, হয় ভার্চুয়াল হোস্টের হোস্ট অ্যালিয়াসের সাথে মেলে এমন ডোমেন নাম উল্লেখ করুন
অথবা রাউটারের IP অ্যাড্রেস এবং
হোস্ট অ্যালিয়াস সহ Host হেডার উল্লেখ করুন।
যেমন, আপনি যদি ৯০০১ পোর্টে myapis.apigee.net হোস্ট অ্যালিয়াস সহ ভার্চুয়াল হোস্ট তৈরি করেন, তাহলে সেই ভার্চুয়াল হোস্টের মাধ্যমে API-তে cURL অনুরোধ নিম্নলিখিত ফর্মের মধ্যে কোনও একটি ব্যবহার করতে পারে:
- myapis.apigee.net-এর জন্য আপনার কাছে DNS এন্ট্রি থাকলে:
curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
- myapis.apigee.net-এর জন্য আপনার কাছে কোনও DNS এন্ট্রি না থাকলে:
curl http://routerIP:9001/proxy-base-path/resource-path -H 'Host: myapis.apigee.net'
এই ফর্মে, আপনি রাউটারের IP অ্যাড্রেস উল্লেখ করেন এবং হোস্টের উপনাম
Hostহেডারে পাস করেন।
ভার্চুয়াল হোস্টের জন্য আপনার কাছে DNS এন্ট্রি না থাকলে বিকল্প
আপনার কাছে DNS এন্ট্রি না থাকলে, একটি বিকল্প হল হোস্ট অ্যালিয়াসকে রাউটারের IP অ্যাড্রেস এবং ভার্চুয়াল হোস্টের পোর্টে সেট করা, যেমন routerIP:port। উদাহরণস্বরূপ:
VHOST_ALIAS=192.168.1.31:9001
তারপর নিচে দেখানো ফর্ম্যাটে একটি curl কমান্ড তৈরি করুন:
curl http://routerIP:9001/proxy-base-path/resource-path
এই বিকল্পটি পছন্দ করা হয় কারণ এটি Edge UI-এর সাথে ভালভাবে কাজ করে।
আপনার একাধিক রাউটার থাকলে, প্রতিটি রাউটারের জন্য একটি হোস্ট উপনাম যোগ করুন, প্রতিটি রাউটারের IP অ্যাড্রেস এবং ভার্চুয়াল হোস্টের পোর্ট উল্লেখ করুন:
# Specify the IP and port of each router as a space-separated list enclosed in quotes: # VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"
বিকল্প হিসেবে, আপনি হোস্ট উপনামের মান সেট করতে পারেন, যেমন temp.hostalias.com।
তারপর, আপনাকে প্রতিটি অনুরোধে Host হেডার পাস করতে হবে:
curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'host: temp.hostalias.com'
অথবা, আপনার /etc/hosts ফাইলে হোস্টের উপনাম যোগ করুন। যেমন, /etc/hosts-এ
এই লাইনটি যোগ করুন:
192.168.1.31 temp.hostalias.com
তারপর আপনি এমনভাবে অনুরোধ করতে পারেন যেন আপনার কাছে একটি ডিএনএস এন্ট্রি আছে:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path