شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
در نصب در محل، شما کنترل کاملی بر میزبانهای مجازی دارید. میتوانید میزبانهای مجازی را برای هر سازمانی، در هر محیطی، با استفاده از TLS یا بدون آن ایجاد کنید.
این سند نحوه ایجاد یک میزبان مجازی ساده را شرح میدهد. یعنی میزبان مجازی که از TLS پشتیبانی نمیکند. برای مثالهای بیشتر، از جمله مثالهایی در مورد ایجاد میزبانهای مجازی که از TLS پشتیبانی میکنند، به پیکربندی دسترسی TLS به یک API برای ابر خصوصی مراجعه کنید.
بیشتر بدانید :
- درباره میزبانهای مجازی
- پیکربندی میزبانهای مجازی
- پیکربندی TLS
- فروشگاههای کلیدی و فروشگاههای معتمد
- پیکربندی دسترسی TLS به یک API برای ابر خصوصی
درباره نامهای مستعار میزبان
هنگام ایجاد میزبان مجازی، باید نام مستعار میزبان مجازی را مشخص کنید. معمولاً این نام DNS میزبان مجازی است.
روتر لبه، هدر Host درخواست ورودی را با لیست نامهای مستعار میزبان موجود مقایسه میکند تا پروکسی API که درخواست را مدیریت میکند، تعیین شود. هنگام ارسال درخواست از طریق یک میزبان مجازی، یا نام دامنهای را مشخص کنید که با نام مستعار میزبان یک میزبان مجازی مطابقت داشته باشد، یا آدرس IP روتر و هدر Host حاوی نام مستعار میزبان را مشخص کنید.
برای مثال، اگر یک میزبان مجازی با نام مستعار میزبان myapis.apigee.net روی پورت ۹۰۰۱ ایجاد کردهاید، آنگاه یک درخواست 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 'host:myapis.apigee.net'
در این فرم، آدرس IP روتر را مشخص میکنید و نام مستعار میزبان را در هدر
Hostوارد میکنید.curl http://routerIP:9001/proxy-base-path/resource-path
گزینههایی برای زمانی که ورودی DNS برای میزبان مجازی ندارید
یک گزینه برای مواقعی که ورودی DNS ندارید، تنظیم نام مستعار میزبان (host alias) روی آدرس IP روتر و پورت میزبان مجازی به صورت routerIP : port است. برای مثال:
192.168.1.31:9001
وقتی دستور curl را به شکل زیر اجرا میکنید:
curl http://routerIP:9001/proxy-base-path/resource-path
این گزینه ترجیح داده میشود زیرا با رابط کاربری Edge به خوبی کار میکند.
اگر چندین روتر دارید، برای هر روتر یک نام مستعار میزبان اضافه کنید و آدرس IP هر روتر و پورت میزبان مجازی را مشخص کنید.
به عنوان یک روش جایگزین، میتوانید نام مستعار میزبان را روی مقداری مانند 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
درباره پورتهای میزبان مجازی در Edge برای Private Cloud 4.16.01 و بالاتر
هنگام ایجاد یک میزبان مجازی، پورت روتر مورد استفاده توسط میزبان مجازی را مشخص میکنید. به عنوان مثال، پورت ۹۰۰۱.
برای Apigee برای نسخههای ۴.۱۶.۰۱ و بالاتر از آن در فضای ابری خصوصی، به طور پیشفرض، روتر به عنوان کاربر "apigee" اجرا میشود که به پورتهای ممتاز، معمولاً پورتهای ۱۰۲۴ و پایینتر، دسترسی ندارد. اگر میخواهید یک میزبان مجازی ایجاد کنید که روتر را به یک پورت محافظتشده متصل کند، باید روتر را طوری پیکربندی کنید که به عنوان کاربری با دسترسی به آن پورتها اجرا شود. برای اطلاعات بیشتر به بخش راهاندازی میزبان مجازی مراجعه کنید.
ایجاد میزبانهای مجازی
این بخش نحوه ایجاد میزبانهای مجازی برای Apigee Edge برای ابر خصوصی را شرح میدهد. توجه داشته باشید که برای ایجاد یک میزبان مجازی جدید، باید مدیر سازمان باشید.
شما میتوانید با استفاده از API یا رابط کاربری Edge، میزبانهای مجازی برای Apigee Edge برای فضای ابری خصوصی ایجاد کنید. این موارد در بخشهای بعدی توضیح داده شدهاند.
ایجاد یک میزبان مجازی با استفاده از مرورگر
این بخش نحوه ایجاد یک میزبان مجازی با استفاده از یک مرورگر (فقط رابط کاربری Edge) را شرح میدهد.
برای ایجاد یک میزبان مجازی جدید در رابط کاربری Edge:
- وارد رابط کاربری مدیریت Edge شوید.
- مدیر > میزبانهای مجازی را انتخاب کنید.
محیط مورد نظر را از لیست کشویی انتخاب کنید.
اج فهرستی از میزبانهای مجازی برای آن محیط را نمایش میدهد.
- برای ایجاد یک میزبان مجازی جدید، + میزبان مجازی را انتخاب کنید.
اج فرم ایجاد میزبان مجازی را نمایش میدهد.
همچنین میتوانید روی نام یک میزبان مجازی موجود کلیک کنید تا آن را ویرایش کنید.
- میزبان مجازی جدید خود را تعریف کنید. توجه داشته باشید که فیلد Base URL باید شامل پروتکل باشد (یعنی، مقدار فیلد را با پیشوند "http://" یا "https://" شروع کنید.)
علاوه بر این، توجه داشته باشید که:
- هیچ محدودیتی در تعداد میزبانهای مجازی که میتوانید ایجاد کنید وجود ندارد
- TLS اختیاری است و میتواند نسخه ۱.۰، ۱.۱ یا ۱.۲ باشد.
- پورت میزبان مجازی قابل تنظیم است
- برای ذخیره میزبان مجازی جدید خود، روی دکمه Create کلیک کنید.
ایجاد یک میزبان مجازی با API
برای ایجاد یک میزبان مجازی با API، یک شیء XML ایجاد کنید که میزبان مجازی را تعریف کند. برای مثال، شیء XML زیر یک میزبان مجازی را تعریف میکند که از پروتکل HTTP استفاده میکند:
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>DNS_name_or_IP:port</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost> توجه داشته باشید که میزبان مجازی شامل یک ویژگی name است. شما از مقدار ویژگی name برای پیکربندی یک پروکسی API برای استفاده از میزبان مجازی استفاده میکنید.
سپس میتوانید از طریق این میزبان مجازی و با ارسال درخواست به آدرس زیر، به یک پروکسی API دسترسی پیدا کنید:
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-pathکجا:
-
httpیاhttps: اگر میزبان مجازی برای پشتیبانی از TLS پیکربندی شده است، از HTTPS استفاده کنید. اگر میزبان مجازی از TLS پشتیبانی نمیکند، از HTTP استفاده کنید. - routerIP : port آدرس IP و شماره پورت میزبان مجازی است.
- proxy-base-path و resource-path هنگام ایجاد پروکسی API تعریف میشوند.
معمولاً API های خود را با آدرس IP و شماره پورت برای مشتریان منتشر نمیکنید. در عوض، یک ورودی DNS برای روتر و پورت تعریف میکنید. برای مثال:
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
اگر ورودی DNS را تعریف کنید، باید یک نام مستعار میزبان برای میزبان مجازی ایجاد کنید که با نام دامنه ورودی DNS مطابقت داشته باشد. نام مستعار میزبان باید با رشتهای که کلاینت در هدر Host ارسال میکند، مطابقت داشته باشد. از مثال بالا، شما باید یک نام مستعار میزبان api.myCompany.com تعیین کنید.
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>9005</Port>
</VirtualHost>برای ایجاد یک میزبان مجازی که از پروتکل HTTP استفاده میکند، موارد زیر را انجام دهید:
- با استفاده از API مربوط به Create a Virtual Host ، میزبان مجازی را ایجاد کنید، که در آن ms-IP آدرس IP یا نام دامنه گره Management Server است:
$ curl -X POST -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>' \ -u sysAdminEmail:password
- رکورد DNS را برای میزبان مجازی ایجاد کنید که با نام مستعار میزبان مطابقت داشته باشد.
- اگر از قبل پراکسی API دارید، میزبان مجازی را به عنصر
<HTTPConnection>در Proxy Endpoint اضافه کنید. میزبان مجازی به طور خودکار به همه پراکسیهای API جدید اضافه میشود. به بخش پیکربندی پراکسی API برای استفاده از میزبان مجازی مراجعه کنید.
اصلاح یک میزبان مجازی
برای تغییر یک میزبان مجازی، موارد زیر را انجام دهید:
میزبان مجازی را با استفاده از Update a Virtual Host API بهروزرسانی کنید، که در آن
<ms-IP>آدرس IP یا نام دامنه گره Management Server است. شما باید تعریف کامل میزبان مجازی را در بدنه درخواست مشخص کنید، نه فقط عناصری که میخواهید تغییر دهید. در این مثال، شماره پورت میزبان مجازی را از ۹۰۰۸ به ۹۰۰۹ تغییر میدهید:curl -X PUT -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9009</Port> </VirtualHost>' \ -u email:password- فقط برای نسخههای ۴.۱۶.۰۱ و ۴.۱۶.۰۵ مرورگر اج برای فضای ابری خصوصی ، اگر یک میزبان مجازی موجود را تغییر دهید و TLS را فعال یا غیرفعال کنید، بدون تغییر شماره پورت، در این صورت:
روتر را متوقف کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
هر فایلی را در
/opt/nginx/conf.dحذف کنید:rm -f /opt/nginx/conf.d/*
روتر را روشن کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- برای همه روترها تکرار کنید.