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
Edge Router, API প্রক্সি নির্ধারণ করার অংশ হিসেবে উপলভ্য হোস্টের ছদ্মনামের তালিকার সাথে
আগত অনুরোধের Host হেডার তুলনা করে যা
অনুরোধটি ম্যানেজ করে। ভার্চুয়াল হোস্টের মাধ্যমে অনুরোধ করার সময়, ভার্চুয়াল হোস্টের হোস্ট অ্যালিয়াসের সাথে
ম্যাচ করে এমন ডোমেনের নাম উল্লেখ করুন অথবা রাউটারের IP অ্যাড্রেস এবং হোস্ট অ্যালিয়াস
থাকা Host হেডার উল্লেখ করুন।
যেমন, আপনি যদি পোর্ট ৯০0১-এ 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
এই বিকল্পটি পছন্দ করা হয় কারণ এটি New 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