شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
یک مشتری Cloud با یک حساب پولی و همه مشتریان Edge for Private Cloud می تواند یک میزبان مجازی در یک سازمان ایجاد کند. کاربری که میزبان مجازی را ایجاد می کند باید در نقش مدیر سازمان یا در نقش سفارشی با مجوزهای تغییر میزبان مجازی باشد. کاربران در نقش های دیگر مجوز ایجاد میزبان مجازی را ندارند.
یک ویدیوی معرفی میزبان های مجازی را تماشا کنید.
ساخت هاست مجازی
برای ایجاد هاست مجازی از روش اصلی زیر استفاده کنید. رویه واقعی که استفاده میکنید براساس این است که آیا شما یک مشتری Cloud یا Private Cloud هستید و اینکه آیا TLS را فعال میکنید:
- یک ورودی DNS و رکورد CNAME برای دامنه عمومی خود ایجاد کنید.
- در صورت فعال کردن TLS در میزبان مجازی:
- با استفاده از روشی که در اینجا توضیح داده شده است، یک فروشگاه کلید ایجاد و پیکربندی کنید: Keystores و Truststores .
- گواهی و کلید خود را در فروشگاه کلید آپلود کنید. اطمینان حاصل کنید که نام دامنه مشخص شده توسط گواهی شما با نام مستعار میزبانی که می خواهید برای میزبان مجازی استفاده کنید مطابقت داشته باشد.
- با استفاده از Edge UI یا API یک مرجع به keystore ایجاد کنید. مرجع نام keystore و نوع مرجع را
KeyStore
مشخص می کند. برای اطلاعات بیشتر در مورد ایجاد و اصلاح مراجع به کار با مراجع مراجعه کنید. - اگر TLS دو طرفه انجام می دهید، یک Truststore ایجاد کنید، گواهی را آپلود کنید و یک مرجع به Truststore ایجاد کنید. Truststore را با استفاده از روشی که در اینجا توضیح داده شده است ایجاد کنید: Keystores و Truststores .
- هاست مجازی را با استفاده از Create a Virtual Host API ایجاد کنید. در صورت فعال کردن TLS، مطمئن شوید که مرجع ذخیره کلید، مرجع Truststore و نام مستعار کلید را مشخص کرده اید.
- اگر پروکسی های API موجود دارید، میزبان مجازی را به ProxyEndpoint اضافه کنید. میزبان مجازی به طور خودکار به تمام پراکسی های API جدید اضافه می شود. به پیکربندی یک پروکسی API برای استفاده از میزبان مجازی مراجعه کنید.
پس از بهروزرسانی یک پراکسی API برای استفاده از میزبان مجازی، و ایجاد ورودی DNS و رکورد CNAME برای نام مستعار میزبان، میتوانید مطابق شکل زیر به پروکسی API دسترسی پیدا کنید:
https://api.myCompany.com/v1/project-base-path/resource-path
به عنوان مثال:
https://api.myCompany.com/v1/weather/forecastrss?w=12797282
ایجاد یک میزبان مجازی با استفاده از API یا UI
می توانید با استفاده از Edge API یا Edge UI یک هاست مجازی ایجاد کنید.
بیشتر نمونههای زیر از Edge API استفاده میکنند. برای دسترسی به UI برای ایجاد، تغییر و حذف میزبان های مجازی در Edge UI:
- به apigee.com/edge وارد شوید
Edge برای مشتریان خصوصی Cloud از
http:// ms-ip :9000
(در محل) استفاده می کند، که در آن ms-ip آدرس IP یا نام DNS گره مدیریت سرور است. - Admin > Virtual Hosts را در نوار ناوبری سمت چپ انتخاب کنید.
- محیط را انتخاب کنید، مانند محصول یا آزمایش .
هاست های مجازی تعریف شده برای محیط نمایش داده می شوند. - برای ایجاد یک میزبان مجازی ، + Virtual Host را انتخاب کنید یا نام یک میزبان مجازی موجود را برای ویرایش آن انتخاب کنید.
ایجاد هاست مجازی برای HTTP
مشتریان Edge for Private Cloud می توانند یک میزبان مجازی با استفاده از HTTP ایجاد کنند.
برای ایجاد یک میزبان مجازی که از TLS پشتیبانی نمی کند، یک شی XML ایجاد کنید که میزبان مجازی را تعریف کند. به عنوان مثال، شی XML زیر یک میزبان مجازی را تعریف می کند که از پروتکل HTTP استفاده می کند:
<VirtualHost name="myVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>80</Port> </VirtualHost>
در این تعریف شما:
- نام را به عنوان myVHost مشخص کنید. از نام برای ارجاع به میزبان مجازی در یک پروکسی API یا در تماس API استفاده کنید.
- نام مستعار میزبان را api.myCompany.com تعیین کنید. این دامنه عمومی است که برای دسترسی به APIهای شما همانطور که توسط تعریف DNS و رکورد CNAME تعریف شده است استفاده می شود.
- شماره پورت را 80 مشخص کنید. اگر حذف شود، به طور پیش فرض پورت روی 443 تنظیم می شود.
ویژگی های اضافی وجود دارد که می توانید در هاست مجازی تنظیم کنید. برای مرجع برای همه خواص، مرجع ویژگی میزبان مجازی را ببینید.
اگر پروکسی های API موجود دارید، میزبان مجازی را به عنصر <HTTPConnection>
در نقطه پایانی پروکسی اضافه کنید. میزبان مجازی به طور خودکار به تمام پراکسی های API جدید اضافه می شود. به پیکربندی یک پروکسی API برای استفاده از میزبان مجازی مراجعه کنید. اگر یک پراکسی API جدید ایجاد کنید که نباید از طریق یک میزبان مجازی خاص قابل دسترسی باشد، باید پروکسی API را ویرایش کنید تا آن میزبان مجازی از ProxyEndpoint آن حذف شود.
سپس می توانید از طریق این میزبان مجازی با درخواست به یک پروکسی API دسترسی داشته باشید:
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
با استفاده از Create a Virtual Host API میزبان مجازی ایجاد کنید:
curl -X POST -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \ -d '<VirtualHost name="myVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>80</Port> </VirtualHost>' \ -u sysAdminEmail:password
ایجاد یک میزبان مجازی برای TLS یک طرفه
شی XML زیر یک میزبان مجازی را برای TLS یک طرفه تعریف می کند:
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://myTestKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> </VirtualHost>
در این تعریف شما TLS را با تنظیم عنصر <Enable>
روی true فعال میکنید و از عناصر <KeyStore>
و <KeyAliase>
برای تعیین keystore و نام مستعار کلید استفاده شده توسط اتصال TLS استفاده میکنید.
برای اطلاعات بیشتر در مورد استفاده از TLS به TLS/SSL مراجعه کنید.
تصمیم گیری در مورد نحوه تعیین نام keystore و truststore در میزبان مجازی
هنگام پیکربندی یک میزبان مجازی برای پشتیبانی از TLS، با استفاده از یک مرجع ، یک keystore را مشخص میکنید. یک مرجع متغیری است که به جای تعیین مستقیم نام ذخیره کلید یا Truststore، همانطور که در زیر نشان داده شده است، حاوی نام keystore یا truststore است:
<SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://myTestKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo>
مزیت استفاده از مرجع این است که می توانید مقدار مرجع را تغییر دهید تا ذخیره کلید مورد استفاده میزبان مجازی را تغییر دهید، معمولاً به این دلیل که گواهی در فروشگاه کلید فعلی در آینده نزدیک منقضی می شود. تغییر مقدار مرجع نیازی به راه اندازی مجدد Edge Router ندارد. برای اطلاعات بیشتر در مورد ایجاد و اصلاح مراجع به کار با مراجع مراجعه کنید.
شما فقط می توانید از یک مرجع به keystore و truststore استفاده کنید. شما نمی توانید از ارجاع به نام مستعار استفاده کنید. هنگامی که مرجع را به فروشگاه کلید تغییر میدهید، مطمئن شوید که نام مستعار گواهی مانند فروشگاه کلید قدیمی است.
محدودیت در استفاده از مراجع به keystore و truststore
هنگام استفاده از ارجاع به keystores و truststores باید محدودیت زیر را در نظر بگیرید:
- تنها در صورتی میتوانید از منابع ذخیره کلید و Truststore در میزبانهای مجازی استفاده کنید که از SNI پشتیبانی کنید و SSL را در روترهای Apigee خاتمه دهید.
- اگر در جلوی روترهای Apigee یک Load Balanser دارید و TLS را در Load Balanser خاتمه میدهید، پس نمیتوانید از منابع keystore و truststore در میزبانهای مجازی استفاده کنید.
ایجاد یک میزبان مجازی برای TLS دو طرفه
برای فعال کردن TLS دو طرفه، عنصر <ClientAuthEnabled>
را روی true
تنظیم کنید و با استفاده از یک مرجع با عنصر <TrustStore>
یک Truststore مشخص کنید. Truststore صادرکننده گواهی مشتری و زنجیره CA گواهی را نگه می دارد که لازم است. کلاینت همچنین باید برای TLS دو طرفه به درستی پیکربندی شود.
برای ایجاد یک میزبان مجازی برای TLS دو طرفه، یک شی XML ایجاد کنید که میزبان مجازی را تعریف کند:
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myTestKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> <TrustStore>ref://myTestTruststoreRef</TrustStore> </SSLInfo> </VirtualHost>
در این تعریف شما:
- با تنظیم
<ClientAuthEnabled>
روی true، TLS دو طرفه را فعال کنید. - ارجاع به Truststore را با استفاده از عنصر
<TrustStore>
مشخص کنید. Truststore صادرکننده گواهی مشتری و زنجیره CA گواهی را نگه می دارد که لازم است.
برای اطلاعات بیشتر در مورد استفاده از TLS به TLS/SSL مراجعه کنید.
تغییر میزبان مجازی
یک مشتری Cloud با حساب پولی و همه مشتریان Edge for Private Cloud می توانند از Update a Virtual Host API برای به روز رسانی میزبان مجازی استفاده کنند. این API به شما امکان می دهد تمام ویژگی های میزبان مجازی را که در مرجع ویژگی میزبان مجازی توضیح داده شده است تنظیم کنید.
با استفاده از Update a Virtual Host API میزبان مجازی را به روز کنید. هنگام استفاده از API، باید تعریف کامل میزبان مجازی را در بدنه درخواست مشخص کنید، نه فقط عناصری را که می خواهید تغییر دهید.
در این مثال، مقدار ویژگی proxy_read_timeout
را تعیین می کنید:
curl -X PUT -H "Content-Type:application/xml" \ https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \ -d '<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://myTestKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> <Properties> <Property name="proxy_read_timeout">50</Property> </Properties> </VirtualHost>' \ -u orgAdminEmail:password
حذف هاست مجازی
قبل از اینکه بتوانید یک میزبان مجازی را از یک محیط حذف کنید، باید هر پروکسی API را که به میزبان مجازی ارجاع می دهد، به روز کنید تا مرجع حذف شود. به پیکربندی یک پروکسی API برای استفاده از میزبان مجازی مراجعه کنید.
با استفاده از Delete a Virtual Host API میزبان مجازی را حذف کنید:
curl -X DELETE \ https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \ -u orgAdminEmail:password
مشاهده اطلاعات مربوط به هاست مجازی
اطلاعات مربوط به هاست های مجازی تعریف شده در یک محیط را به شرح زیر مشاهده کنید.
لبه
برای مشاهده اطلاعات یک میزبان مجازی با استفاده از رابط کاربری Edge:
- به apigee.com/edge وارد شوید.
Edge برای مشتریان خصوصی Cloud از
http:// ms-ip :9000
(در محل) استفاده می کند، که در آن ms-ip آدرس IP یا نام DNS گره مدیریت سرور است. - Admin > Virtual Hosts را در نوار ناوبری سمت چپ انتخاب کنید.
- محیط را انتخاب کنید، مانند محصول یا آزمایش .
هاست های مجازی تعریف شده برای محیط ظاهر می شوند. اگر میزبان مجازی برای استفاده از فروشگاه کلید یا Truststore پیکربندی شده است، برای مشاهده اطلاعات بیشتر روی Show کلیک کنید.
اگر میزبان مجازی برای استفاده از TLS/SSL پیکربندی شده باشد، یک نماد قفل در کنار نام میزبان مجازی ظاهر می شود. این بدان معناست که یک گواهی TLS/SSL، کلید و زنجیره گواهی در Edge آپلود شده و با میزبان مجازی مرتبط شده است. برای مشاهده اطلاعات مربوط به گواهی های موجود:
- Admin > Environment > Keystores TLS را در نوار پیمایش سمت چپ انتخاب کنید.
- محیط را انتخاب کنید (معمولاً
prod
یاtest
). - برای مشاهده گواهی، کلیدهای ذخیره را باز کنید.
Classic Edge (ابر خصوصی)
برای مشاهده اطلاعات یک میزبان مجازی با استفاده از رابط کاربری Classic Edge:
- به
http:// ms-ip :9000
وارد شوید، جایی که ms-ip آدرس IP یا نام DNS گره مدیریت سرور است. - Admin > Virtual Hosts را در نوار ناوبری سمت چپ انتخاب کنید.
- محیط را انتخاب کنید، مانند محصول یا آزمایش .
- روی تب Virtual Hosts کلیک کنید.
هاست های مجازی تعریف شده برای محیط ظاهر می شوند. اگر میزبان مجازی برای استفاده از فروشگاه کلید یا Truststore پیکربندی شده است، برای مشاهده اطلاعات بیشتر روی Show کلیک کنید.
اگر میزبان مجازی برای استفاده از TLS/SSL پیکربندی شده باشد، یک نماد قفل در کنار نام میزبان مجازی ظاهر می شود. این بدان معناست که یک گواهی TLS/SSL، کلید و زنجیره گواهی در Edge آپلود شده و با میزبان مجازی مرتبط شده است. برای مشاهده اطلاعات مربوط به گواهی های موجود:
- Admin > TLS Certificates را در نوار پیمایش بالا انتخاب کنید.
- محیط را انتخاب کنید (معمولاً
prod
یاtest
). - برای مشاهده گواهی، کلیدهای ذخیره را باز کنید.
مشاهده میزبان مجازی با API Edge
همچنین می توانید از API های Edge برای مشاهده اطلاعات مربوط به میزبان های مجازی استفاده کنید. به عنوان مثال، List Virtual Hosts API لیستی از همه میزبان های مجازی را برمی گرداند:
curl -X GET -H "accept:application/xml" \ https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts \ -u orgAdminEmail:pWord
جایی که orgAdminEmail:pWord نام کاربری و رمز عبور مدیر سازمان است و org_name / env_name سازمان و محیط حاوی میزبان مجازی را مشخص می کند. نمونه پاسخ:
[ "default", "secure" ]
برای مشاهده اطلاعات مربوط به یک میزبان مجازی خاص، از Get Virtual Host API استفاده کنید:
curl -X GET -H "accept:application/xml" \ https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \ -u orgAdminEmail:pWord
جایی که vhost_name نام میزبان مجازی است. به عنوان مثال، می توانید vhost_name را به عنوان "امن" تعیین کنید تا پیکربندی میزبان مجازی امن پیش فرض ایجاد شده توسط Apigee را ببینید:
<VirtualHost name="secure"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Port>443</Port> <Properties/> <Interfaces/> <RetryOptions/> <SSLInfo> <ClientAuthEnabled>false</ClientAuthEnabled> <Enabled>true</Enabled> <KeyAlias>freetrial</KeyAlias> <KeyStore>ref://freetrial</KeyStore> <IgnoreValidationErrors>false</IgnoreValidationErrors> </SSLInfo> </VirtualHost>
پیکربندی یک پروکسی API برای استفاده از میزبان مجازی
هنگامی که یک پروکسی API جدید ایجاد می کنید، Edge به طور خودکار آن را برای استفاده از همه میزبان های مجازی موجود در سازمان پیکربندی می کند. درخواست یک پروکسی API از طریق یک میزبان مجازی از فرم زیر استفاده می کند:
https://host-alias/proxy-base-path/resource-path
کجا:
- host-alias معمولاً نام DNS میزبان مجازی است.
- proxy-base-path زمانی تعریف میشود که یک پروکسی API ایجاد میکنید و برای هر پروکسی API منحصربهفرد است.
- resource-path مسیر منبعی که از طریق پراکسی API قابل دسترسی است.
کنترل میزبان های مجازی مورد استفاده توسط یک پروکسی API
در پیکربندی XML یک پروکسی API، از تگ virtualhost
برای تعیین نام میزبان مجازی مرتبط با پراکسی API استفاده میکنید:
<HTTPProxyConnection> <BasePath>/v1/my/proxy/basepath</BasePath> <VirtualHost>secure</VirtualHost> <VirtualHost>default</VirtualHost> </HTTPProxyConnection>
به عنوان مثال، <VirtualHost>secure</VirtualHost>
به این معنی است که یک کلاینت می تواند با استفاده از نام مستعار میزبان میزبان مجازی "امن" با پروکسی API تماس بگیرد.
شما معمولاً هاست های مجازی مرتبط با یک پراکسی API را زمانی که:
- شما یک میزبان مجازی جدید ایجاد می کنید و پروکسی های API موجود دارید. برای افزودن میزبان مجازی جدید، باید هر پروکسی API موجود را ویرایش کنید.
- شما یک پروکسی API جدید ایجاد می کنید که نباید از طریق یک میزبان مجازی خاص قابل دسترسی باشد. شما باید پروکسی API را ویرایش کنید تا آن میزبان مجازی از تعریف آن حذف شود.
برای تغییر میزبان های مجازی مرتبط با یک پروکسی API:
همانطور که در زیر توضیح داده شده است به ویرایشگر پروکسی API دسترسی پیدا کنید.
لبه
برای دسترسی به ویرایشگر پروکسی API با استفاده از رابط کاربری Edge:
- به apigee.com/edge وارد شوید.
Edge برای مشتریان خصوصی Cloud از
http:// ms-ip :9000
(در محل) استفاده می کند، که در آن ms-ip آدرس IP یا نام DNS گره مدیریت سرور است. - Develop > API proxies را در نوار پیمایش سمت چپ انتخاب کنید.
- پروکسی API را که می خواهید در لیست ویرایش کنید انتخاب کنید.
Classic Edge (ابر خصوصی)
برای دسترسی به ویرایشگر پراکسی API با استفاده از رابط کاربری Classic Edge:
- به
http:// ms-ip :9000
وارد شوید، جایی که ms-ip آدرس IP یا نام DNS گره مدیریت سرور است. - APIs > API proxies را در نوار پیمایش بالا انتخاب کنید.
- پروکسی API را که می خواهید در لیست ویرایش کنید انتخاب کنید.
- به apigee.com/edge وارد شوید.
- روی تب Develop کلیک کنید.
- در قسمت Proxy Endpoints ، پیش فرض را انتخاب کنید.
- در ناحیه کد:
- هر عنصر
<VirtualHost>
را برای میزبان های مجازی که توسط پروکسی API پشتیبانی نمی شود، حذف کنید. - یک عنصر
<VirtualHost>
جدید با نام میزبان مجازی جدید اضافه کنید. به عنوان مثال، اگر میزبان مجازی جدید MyVirtualHost نام دارد، تگ زیر را اضافه کنید:<HTTPProxyConnection> <BasePath>/v1/my/proxy/basepath</BasePath> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> <VirtualHost>MyVirtualHost</VirtualHost> </HTTPProxyConnection>
- هر عنصر
- پروکسی API را ذخیره کنید. اگر پروکسی API مستقر شده باشد، ذخیره آن با تنظیم جدید مجدداً مستقر می شود.
تنظیم URL پایه نمایش داده شده توسط Edge UI برای یک پراکسی API
رابط کاربری Edge URL یک پراکسی API را بر اساس تنظیمات موجود در میزبان مجازی مربوط به محل استقرار پراکسی نشان می دهد. این نمایشگر می تواند شامل شماره پورت روتر میزبان مجازی باشد.
در بیشتر موارد، URL نمایش داده شده در رابط کاربری Edge URL صحیح برای درخواست های خارجی به پروکسی است. با این حال، برای برخی از تنظیمات، URL نمایش داده شده صحیح نیست. برای مثال، هر یک از پیکربندیهای زیر میتواند باعث شود که URL نمایش داده شده با URL واقعی مورد استفاده برای درخواستهای خارجی به پروکسی مطابقت نداشته باشد:
- خاتمه SSL در یک متعادل کننده بار اتفاق می افتد
- نگاشت پورت بین یک متعادل کننده بار و روترهای Apigee رخ می دهد
- یک بار متعادل کننده با بازنویسی مسیر پیکربندی شده است
Edge از یک ویژگی در میزبان مجازی به نام <BaseUrl>
پشتیبانی می کند که به شما امکان می دهد URL نمایش داده شده توسط رابط کاربری Edge را لغو کنید. در اینجا مثالی وجود دارد که شی میزبان مجازی را با ویژگی <BaseUrl>
نشان می دهد. در این مثال، مقدار "http://myCo.com" در رابط کاربری Edge ظاهر می شود:
<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <BaseUrl>http://myCo.com</BaseUrl> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://myTestKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> </VirtualHost>
توجه داشته باشید که مقدار <BaseUrl>
باید شامل پروتکل باشد (یعنی "http://" یا "https://").
اگر <BaseUrl>
تنظیم نشده باشد، URL پیش فرض ارائه شده توسط رابط کاربری Edge به صورت "api.myCompany.com" ظاهر می شود، در حالی که نام مستعار میزبان واقعی "http://myCo.com" است.