شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
یک مشتری ابری با یک حساب کاربری پولی میتواند یک میزبان مجازی در یک سازمان ایجاد کند.
- درباره میزبانهای مجازی
- پیکربندی میزبانهای مجازی
- پیکربندی TLS
- فروشگاههای کلیدی و فروشگاههای معتمد
چه کسی میتواند میزبانهای مجازی را در فضای ابری ایجاد و تغییر دهد؟
ایجاد و اصلاح میزبان مجازی فقط برای حسابهای کاربری پولی در Edge Cloud در دسترس است. کاربری که میزبان مجازی را ایجاد میکند باید در نقش مدیر سازمان یا در یک نقش سفارشی با مجوزهای تغییر میزبان مجازی باشد. کاربران در نقشهای دیگر مجوز ایجاد میزبانهای مجازی را ندارند.
برای مثال، مشتریان پولی میتوانند:
- فعال کردن TLS یک طرفه و دو طرفه
- محل ذخیره کلید/محل ذخیره اعتماد مورد استفاده توسط میزبان مجازی را مشخص کنید
حسابهای کاربری رایگان و آزمایشی نمیتوانند میزبانهای مجازی ایجاد یا تغییر دهند و محدود به میزبانهای مجازی ایجاد شده برای آنها در زمان ثبت نام Edge هستند. برای اطلاعات بیشتر در مورد طرحهای قیمتگذاری Edge، به https://apigee.com/api-management/#/pricing مراجعه کنید.
الزامات پیکربندی یک میزبان مجازی برای ابر
جدول زیر الزامات ایجاد یک میزبان مجازی را خلاصه میکند:
| دسته بندی | مورد نیاز | توضیحات |
|---|---|---|
| نوع حساب | پرداخت شده | حسابهای کاربری رایگان و آزمایشی نمیتوانند میزبانهای مجازی ایجاد یا تغییر دهند. |
| نقش کاربر | مدیر سازمان | فقط یک مدیر سازمان میتواند یک میزبان مجازی ایجاد کند، یا یک کاربر در یک نقش سفارشی که مجوزهای تغییر یک میزبان مجازی را دارد. |
| تعداد میزبانهای مجازی | حداکثر ۲۰ | شما به حداکثر ۲۰ میزبان مجازی در هر سازمان/محیط در فضای ابری محدود هستید. توجه : هیچ محدودیتی برای تعداد میزبانهای مجازی در ابر خصوصی وجود ندارد. بیشتر سازمانها/محیطها از دو میزبان مجازی استفاده میکنند: یکی برای HTTP و دیگری برای دسترسی HTTPS. اگر سازمان/محیط شما امکان دسترسی با استفاده از نامهای دامنه مختلف را فراهم میکند، ممکن است به میزبانهای مجازی بیشتری نیاز داشته باشید. |
| آدرس اینترنتی پایه | شامل پروتکل | هنگام تعریف URL پایه برای میزبان مجازی، چه در رابط کاربری و چه با API، باید پروتکل (یعنی "http://" یا "https://") را به عنوان بخشی از URL مشخص کنید. |
| بندر | ۴۴۳ | شما فقط میتوانید یک میزبان مجازی روی پورت ۴۴۳ ایجاد کنید. توجه داشته باشید که میتوانید چندین میزبان مجازی را روی پورت ۴۴۳ ایجاد کنید، به شرطی که نامهای مستعار میزبان منحصر به فرد داشته باشند و همگی از TLS پشتیبانی کنند. |
| TLS | مورد نیاز | شما فقط میتوانید یک میزبان مجازی ایجاد کنید که از TLS روی HTTPS پشتیبانی کند. شما باید از قبل یک keystore و در صورت تمایل یک truststore که حاوی گواهی و کلید TLS شما باشد، ایجاد کرده باشید. شما باید یک گواهی امضا شده توسط یک نهاد معتبر مانند Symantec یا VeriSign داشته باشید. نمیتوانید از گواهی خودامضا شده استفاده کنید. اگر به دسترسی HTTP نیاز دارید، با پشتیبانی Apigee Edge تماس بگیرید. |
| پروتکل TLS | TLS 1.2 | Edge in the Cloud فقط از TLS نسخه ۱.۲ پشتیبانی میکند. |
| نام مستعار میزبان | منحصر به فرد در سازمان و محیط | نام مستعار میزبان برای ترکیب سازمان/محیط دیگری وجود ندارد. |
| نام دامنه | متعلق به مشتری | شما باید مالک نام دامنه مشخص شده در میزبان مجازی باشید. Edge بررسی میکند تا مطمئن شود که نام دامنه، همانطور که توسط نام مستعار میزبان تعریف شده است، با فراداده موجود در گواهی TLS مطابقت دارد. به طور خاص، Edge اطلاعات زیر را در گواهی بررسی میکند:
استفاده از کاراکترهای عمومی (wildcards) در SAN یا CN مجاز است، برای مثال Edge همچنین تأیید میکند که گواهی منقضی نشده است. |
| پشتیبانی از SNI برنامه کلاینت | تمام برنامههای کلاینت که به میزبان مجازی دسترسی دارند باید از SNI پشتیبانی کنند. | پشتیبانی SNI توسط همه برنامهها الزامی است. |
ایجاد یک میزبان مجازی با استفاده از مرورگر
بیشتر مثالهای این بخش از Edge API برای ایجاد یا تغییر میزبانهای مجازی استفاده میکنند، اما میتوانید یک میزبان مجازی را در رابط کاربری Edge ایجاد کنید.
برای ایجاد یک میزبان مجازی با استفاده از رابط کاربری Edge:
- وارد apigee.com/edge شوید.
- مدیر > میزبانهای مجازی را انتخاب کنید.
- محیطی مانند prod یا test را انتخاب کنید.
- برای ایجاد یک میزبان مجازی ، + میزبان مجازی را انتخاب کنید یا نام یک میزبان مجازی موجود را برای ویرایش آن انتخاب کنید.
- برای اطلاعات دقیق در مورد پر کردن فیلدهای میزبان مجازی، به جدول بالا مراجعه کنید.
تعریف میزبان مجازی برای TLS یک طرفه
یک شیء XML که میزبان مجازی را تعریف میکند. برای مثال، شیء 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>در این تعریف شما:
- نام را myTLSVHost تعیین کنید. از این نام برای ارجاع به میزبان مجازی در یک پروکسی API یا در یک فراخوانی API استفاده کنید.
- نام مستعار میزبان را api.myCompany.com تعیین کنید. این دامنه عمومی است که برای دسترسی به API های شما، طبق تعریف DNS و رکورد CNAME، استفاده میشود.
- شماره پورت را ۴۴۳ مشخص کنید. در صورت حذف، به طور پیشفرض پورت روی ۴۴۳ تنظیم شده است.
- در صورت نیاز، TLS را فعال کنید.
عنصر<Enable>برای فعال کردن TLS یک طرفه روی true تنظیم شده است، و عناصر و<KeyStore>کلید اصلی و نام مستعار کلید مورد استفاده توسط اتصال TLS را مشخص میکنند.
برای فعال کردن TLS دوطرفه،<ClientAuthEnabled>را روی true تنظیم کنید و با استفاده از عنصر<TrustStore>یک truststore مشخص کنید. truststore صادرکننده گواهی کلاینت و زنجیره CA گواهی را که مورد نیاز است، در خود نگه میدارد.
توجه: از آنجایی که Edge در ابتدا از SSL پشتیبانی میکرد، برچسبی که برای پیکربندی TLS استفاده میکنید<SSLInfo>نام دارد.
توجه داشته باشید که ویژگیهای اضافی دیگری نیز وجود دارند که میتوانید در میزبان مجازی تنظیم کنید. برای مشاهدهی مرجع همهی ویژگیها، به مرجع ویژگی میزبان مجازی مراجعه کنید.
تصمیمگیری در مورد نحوه مشخص کردن نام keystore و truststore در میزبان مجازی
هنگام پیکربندی یک میزبان مجازی برای پشتیبانی از TLS، شما با استفاده از یک مرجع ، یک keystore مشخص میکنید. مرجع متغیری است که شامل نام keystore یا truststore است، نه اینکه مستقیماً نام keystore یا truststore را مشخص کند، همانطور که در زیر نشان داده شده است:
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>مزیت استفاده از یک مرجع این است که میتوانید مقدار مرجع را برای تغییر keystore مورد استفاده توسط میزبان مجازی تغییر دهید، معمولاً به این دلیل که گواهی موجود در keystore فعلی در آینده نزدیک منقضی میشود. تغییر مقدار مرجع نیازی به راهاندازی مجدد روتر لبه ندارد. برای اطلاعات بیشتر در مورد ایجاد و اصلاح مراجع، به بخش «کار با مراجع» مراجعه کنید.
شما فقط میتوانید از ارجاع به keystore و truststore استفاده کنید؛ نمیتوانید از ارجاع به نام مستعار استفاده کنید. هنگام تغییر ارجاع به keystore، مطمئن شوید که نام مستعار گواهی با keystore قدیمی یکسان باشد.
محدودیتهای استفاده از ارجاعات به keystoreها و truststoreها
هنگام استفاده از ارجاعات به keystoreها و truststoreها، باید محدودیتهای زیر را در نظر بگیرید:
- شما فقط در صورتی میتوانید از منابع keystore و truststore در میزبانهای مجازی استفاده کنید که از SNI پشتیبانی کنید و SSL را در روترهای Apigee خاتمه دهید.
- اگر یک متعادلکننده بار در مقابل روترهای Apigee دارید و TLS را روی متعادلکننده بار خاتمه میدهید، نمیتوانید از ارجاعات 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>مرجع به مرکز اعتماد را مشخص کنید. مرکز اعتماد، صادرکننده گواهی مشتری و زنجیره CA گواهی را که مورد نیاز است، در خود جای داده است.
تعریف یک میزبان مجازی که از گواهی و کلید آزمایشی رایگان Apigee استفاده میکند
اگر یک حساب کاربری پولی Edge for Cloud دارید و هنوز گواهی و کلید TLS ندارید، میتوانید یک میزبان مجازی ایجاد کنید که از گواهی و کلید آزمایشی رایگان Apigee استفاده میکند. این بدان معناست که میتوانید میزبان مجازی را بدون ایجاد اولیه یک فروشگاه کلید ایجاد کنید.
گواهی آزمایشی رایگان Apigee برای دامنه *.apigee.net تعریف شده است. بنابراین، <HostAlias> میزبان مجازی نیز باید به شکل *.apigee.net باشد.
اگر TLS دوطرفه را انجام میدهید، همچنان باید عنصر <ClientAuthEnabled> را روی true تنظیم کنید و با استفاده از ارجاع به عنصر <TrustStore> ، همانطور که در بالا در تعریف میزبان مجازی برای TLS دوطرفه توضیح داده شد، یک truststore مشخص کنید.
یک شیء XML که میزبان مجازی را با استفاده از گواهی و کلید آزمایشی رایگان Apigee تعریف میکند، عناصر <KeyStore> و <KeyAlias> را حذف کرده و آنها را با عنصر <UseBuiltInFreeTrialCert> جایگزین میکند، همانطور که در زیر نشان داده شده است:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>myapi.apigee.net</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
</SSLInfo>
<UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost> مقدار پیشفرض عنصر <UseBuiltInFreeTrialCert> برابر با false است.
برای TLS دوطرفه، میزبان مجازی را به صورت زیر تعریف کنید:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>myapi.apigee.net</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<TrustStore>ref://myTestTruststoreRef</TrustStore>
</SSLInfo>
<UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>در رابط کاربری Edge، هنگام ایجاد میزبان مجازی، گزینهی «استفاده از گواهی آزمایشی رایگان داخلی» را انتخاب کنید تا از گواهی و کلید رایگان Apigee استفاده کنید:

ایجاد یک میزبان مجازی
برای ایجاد میزبان مجازی از روش زیر استفاده کنید:
- برای این مثال، یک ورودی DNS و رکورد CNAME برای دامنه عمومی خود،
api.myCompany.com، ایجاد کنید که به[org]-[environment].apigee.netاشاره کند. - با استفاده از روشی که در اینجا توضیح داده شده است، یک keystore با نام myTestKeystore در این مثال ایجاد و پیکربندی کنید: ایجاد keystoreها و truststore با استفاده از رابط کاربری Edge . برای این مثال، مطمئن شوید که keystore از نام مستعار myKeyAlias برای گواهی و کلید خصوصی استفاده میکند.
- گواهی و کلید خود را در keystore آپلود کنید. مطمئن شوید که نام دامنه مشخص شده توسط گواهی شما با نام مستعار میزبان که میخواهید برای میزبان مجازی استفاده کنید، مطابقت دارد.
با استفاده از رابط کاربری یا API اج، یک ارجاع به کلید اصلی ایجاد کنید. این ارجاع، نام کلید اصلی و نوع ارجاع را به صورت
KeyStoreمشخص میکند. برای اطلاعات بیشتر در مورد ایجاد و اصلاح ارجاعها، به بخش «کار با ارجاعها» مراجعه کنید.- با استفاده از API مربوط به Create a Virtual Host، میزبان مجازی را ایجاد کنید. مطمئن شوید که مرجع keystore و نام مستعار کلید را به درستی مشخص کردهاید. برای استفاده از API، از فراخوانی POST API زیر برای ایجاد keystore با نام myTLSVHost استفاده کنید:
curl -X POST -H "Content-Type:application/xml" \ https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts \ -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> </VirtualHost>' \ -u orgAdminEmail:passwordاگر TLS دوطرفه را با کلاینت اجرا میکنید،
<ClientAuthEnabled>را روی true تنظیم کنید و با استفاده از عنصر<TrustStore>محل نگهداری اعتماد را مشخص کنید. کلاینت باید به درستی برای TLS دوطرفه پیکربندی شده باشد، به این معنی که Edge دارای یک محل نگهداری اعتماد است که شامل صادرکننده گواهی و زنجیره گواهی کلاینت است. محل نگهداری اعتماد را با استفاده از روشی که در اینجا توضیح داده شده است، ایجاد کنید: ایجاد keystoreها و محل نگهداری اعتماد با استفاده از رابط کاربری Edge . اگر از قبل پراکسی API دارید، میزبان مجازی را به عنصر
<HTTPConnection>در 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
اصلاح یک میزبان مجازی
دو کار اصلی وجود دارد که مشتریان پولی فضای ابری برای تغییر یک میزبان مجازی موجود انجام میدهند:
- تغییر مقدار ارجاع به یک keystore یا truststore.
توجه : پس از تنظیم<KeyStore>یا<TrustStore>برای استفاده از یک مرجع، میتوانید مقدار مرجع را در هر زمان تغییر دهید. با این حال، اگر میخواهید<KeyStore>یا<TrustStore>را برای استفاده از یک مرجع متفاوت تغییر دهید، یا<KeyAlias>را برای استفاده از یک نام مستعار متفاوت تغییر دهید، باید با پشتیبانی Apigee Edge تماس بگیرید. - تغییر ویژگیهای TLS میزبان مجازی.
تغییر مقدار یک مرجع
شما میتوانید مقدار یک مرجع را تغییر دهید تا keystore یا truststore مورد استفاده توسط یک میزبان مجازی را تغییر دهید.
قبل از اینکه مقدار مرجع را تغییر دهید:
- یک keystore جدید ایجاد کنید و یک گواهی و کلید را همانطور که در ایجاد keystoreها و truststore با استفاده از رابط کاربری Edge توضیح داده شده است، آپلود کنید. در keystore جدید، مطمئن شوید که از همان نام مستعار کلید که در keystore موجود استفاده شده است، استفاده میکنید .
- در صورت لزوم، یک truststore جدید ایجاد کنید و همانطور که در بخش «ایجاد keystoreها و truststore با استفاده از رابط کاربری Edge» توضیح داده شده است، یک گواهی آپلود کنید.
- مرجع را همانطور که در بخش «کار با مراجع» توضیح داده شده است، اصلاح کنید.
تغییر ویژگیهای TLS میزبان مجازی
مشتریان پولی میتوانند از API «بهروزرسانی میزبان مجازی» برای بهروزرسانی یک میزبان مجازی استفاده کنند. این API به شما امکان میدهد تمام ویژگیهای میزبان مجازی شرح داده شده در مرجع ویژگیهای میزبان مجازی را تنظیم کنید.
وقتی میزبان مجازی را تغییر میدهید، Edge اعتبارسنجی مشابه زمانی که یک میزبان مجازی ایجاد میکنید، انجام میدهد. یعنی، در یک تغییر، Edge موارد زیر را اعتبارسنجی میکند:
- دامنهای که توسط نام مستعار میزبان مشخص شده است، در سازمان و محیط دیگری استفاده نمیشود.
- شما مالک نام دامنه هستید. به طور خاص، Edge بررسی میکند که اطلاعات زیر در گواهی با نام مستعار میزبان مطابقت داشته باشد:
- CN - نام مشترک
- SAN - نام جایگزین موضوع
- Edge تأیید میکند که گواهی منقضی نشده است.
برای تغییر یک میزبان مجازی با استفاده از Edge 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
اصلاح یک میزبان مجازی برای استفاده از ارجاعات به keystore و truststore
همه میزبانهای مجازی جدید برای Edge در فضای ابری از ارجاع به keystore و truststore استفاده میکنند. ارجاعها به شما امکان میدهند keystore و truststore را بدون تماس با پشتیبانی Apigee Edge تغییر دهید.
ممکن است میزبانهای مجازی قدیمیتر در Apigee Edge برای استفاده از ارجاعات برای keystoreها و truststoreها پیکربندی نشده باشند. در این حالت، میتوانید میزبان مجازی را برای استفاده از ارجاع بهروزرسانی کنید.
بهروزرسانی یک میزبان مجازی برای استفاده از یک مرجع
برای بهروزرسانی میزبان مجازی از روش زیر استفاده کنید:
- در صورت لزوم، یک keystore جدید ایجاد کنید و یک گواهینامه را همانطور که در ایجاد keystoreها و truststore با استفاده از رابط کاربری Edge توضیح داده شده است، آپلود کنید. اگر از قبل یک keystore دارید، میتوانید یک مرجع برای اشاره به آن پیکربندی کنید.
- یک ارجاع جدید به keystore ایجاد کنید.
- در صورت لزوم، یک فروشگاه اعتماد جدید ایجاد کنید و یک گواهی آپلود کنید. اگر از قبل یک فروشگاه اعتماد دارید، میتوانید یک مرجع برای اشاره به آن پیکربندی کنید.
- یک مرجع جدید به فروشگاه اعتماد ایجاد کنید.
- میزبان مجازی را بهروزرسانی کنید تا keystore، alias، truststore و سایر ویژگیهای TLS تنظیم شوند. payload برای این فراخوانی عبارت است از:
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> <OCSPStapling>off</OCSPStapling> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeyStore2Way</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://myTrustStore2Way</TrustStore> <IgnoreValidationErrors>false</IgnoreValidationErrors> </SSLInfo> </VirtualHost>' \ -u orgAdminEmail:pWord - برای تکمیل فرآیند، با پشتیبانی Apigee تماس بگیرید تا روترهای Edge را مجدداً راهاندازی کنید.