Edge for Private Cloud نسخه 4.17.05
یک میزبان مجازی در Edge دامنهها و پورتهای Edge Router را که یک پراکسی API در معرض آن قرار میگیرد، و بهطور پسوند URL را که برنامهها برای دسترسی به پروکسی API استفاده میکنند، تعریف میکند. یک میزبان مجازی همچنین تعیین می کند که آیا پروکسی API با استفاده از پروتکل HTTP یا با پروتکل HTTPS رمزگذاری شده قابل دسترسی است.
به عنوان بخشی از فرآیند نصب Edge، شما باید یک سازمان، محیط و میزبان مجازی ایجاد کنید. Edge دستور setup-org را برای آسانتر کردن این فرآیند برای کاربران جدید ارائه میکند.
هنگام ایجاد هاست مجازی، باید اطلاعات زیر را مشخص کنید:
- نام میزبان مجازی که برای ارجاع به آن در پراکسی های API خود استفاده می کنید.
- پورت روی روتر برای میزبان مجازی. به طور معمول این پورت ها از 9001 شروع می شوند و برای هر میزبان مجازی جدید یک عدد افزایش می یابند.
- نام مستعار میزبان میزبان مجازی. معمولاً نام DNS میزبان مجازی.
به عنوان مثال، در یک فایل پیکربندی که به دستور 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 هدر Host درخواست ورودی را با لیست نام مستعار میزبان موجود به عنوان بخشی از تعیین پراکسی API که درخواست را مدیریت می کند مقایسه می کند. هنگام درخواست از طریق یک میزبان مجازی، یا نام دامنه ای را مشخص کنید که با نام مستعار میزبان مجازی مطابقت داشته باشد، یا آدرس IP روتر و هدر میزبان حاوی نام مستعار میزبان را مشخص کنید.
برای مثال، اگر یک میزبان مجازی با نام مستعار میزبان myapis.apigee.net در پورت 9001 ایجاد کرده باشید، درخواست cURL به یک API از طریق آن میزبان مجازی می تواند از یکی از اشکال زیر استفاده کند:
- اگر یک ورودی DNS برای myapis.apigee.net دارید:
curl http:// myapis.apigee.net :9001/{proxy-base-path}/{resource-path} - اگر ورودی DNS برای myapis.apigee.net ندارید:
curl http:// <routerIP>:9001 /{proxy-base-path}/{resource-path} -H 'میزبان: myapis.apigee.net'
در این فرم، آدرس IP روتر را مشخص میکنید و نام مستعار میزبان را در هدر Host ارسال میکنید.
توجه : دستور cURL، اکثر مرورگرها و بسیاری از ابزارهای دیگر به طور خودکار هدر Host را با دامنه به عنوان بخشی از درخواست اضافه می کنند، بنابراین می توانید از دستور cURL به شکل زیر استفاده کنید:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
گزینه هایی برای زمانی که ورودی DNS برای میزبان مجازی ندارید
زمانی که ورودی DNS ندارید، یکی از گزینه ها این است که نام مستعار میزبان را روی آدرس IP روتر و پورت میزبان مجازی، به عنوان <routerIP>:port تنظیم کنید. به عنوان مثال:
VHOST_ALIAS=192.168.1.31:9001
سپس دستور curl را به شکل زیر می سازید:
curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}
این گزینه ترجیح داده می شود زیرا با رابط کاربری Edge به خوبی کار می کند.
اگر چندین روتر دارید، یک نام مستعار میزبان برای هر روتر اضافه کنید و آدرس 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}
استفاده از پورت محافظت شده در هاست مجازی
اگر میخواهید یک میزبان مجازی ایجاد کنید که روتر را به یک پورت محافظت شده، مانند شماره پورتهای کمتر از 1000 متصل میکند، باید روتر را طوری پیکربندی کنید که به عنوان کاربر با دسترسی به آن پورتها اجرا شود. به طور پیش فرض، روتر به عنوان کاربر "apigee" اجرا می شود که به پورت های ممتاز دسترسی ندارد.
برای اجرای روتر به عنوان یک کاربر دیگر:
- به عنوان root، فایل /opt/apigee/etc/edge-router.d/RUN_USER.sh را ایجاد کنید.
- ورودی زیر را به فایل اضافه کنید:
RUN_USER = ریشه
اگر نمی خواهید روتر را به صورت روت اجرا کنید، کاربری با دسترسی به پورت را مشخص کنید. - فایل را ذخیره کنید.
- اگر کاربری غیر از root را مشخص کرده اید، مالک فایل را به آن کاربر تغییر دهید:
> chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh - راه اندازی مجدد روتر:
> /opt/apigee/apigee-service/bin/apigee-service edge-router راه اندازی مجدد