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

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

এই বিকল্পটি পছন্দ করা হয় কারণ এটি 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

তারপরে, আপনার যদি কোনও DNS এন্ট্রি থাকে, তাহলে আপনি সেইভাবে অনুরোধ করতে পারবেন:

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path