درباره هاست های مجازی

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

در Edge، یک روتر تمام ترافیک ورودی API را مدیریت می کند. این بدان معناست که تمام درخواست های HTTP و HTTPS به یک پروکسی API ابتدا توسط یک روتر Edge رسیدگی می شود.

میزبان مجازی به شما امکان می دهد چندین نام دامنه را روی یک سرور میزبانی کنید. برای Edge، سرور مربوط به یک روتر Edge است. با تعریف میزبان های مجازی متعدد در یک روتر، روتر می تواند درخواست های API را برای نام های دامنه متعدد مدیریت کند.

یک میزبان مجازی در Edge پروتکل دسترسی (HTTP یا HTTPS)، یک پورت روتر باز و یک نام مستعار میزبان را تعریف می کند. نام مستعار میزبان معمولاً نام دامنه DNS است که به آدرس IP روتر نگاشت می شود.

به عنوان مثال، تصویر زیر یک روتر با دو تعریف میزبان مجازی را نشان می دهد:

میزبان مجازی اول درخواست های HTTPS در دامنه domainName1 و دومین میزبان درخواست های HTTP در domainName2 رسیدگی می کند.

در یک درخواست به یک پراکسی API، روتر هدر Host درخواست ورودی را با لیست نام مستعار میزبان تعریف شده توسط همه میزبان های مجازی مقایسه می کند تا مشخص کند کدام میزبان مجازی درخواست را مدیریت می کند.

درباره تعاریف میزبان مجازی

هاست های مجازی حاوی اطلاعات زیر هستند:

  • نام داخلی میزبان مجازی. شما از این نام برای ارجاع به میزبان مجازی در پراکسی های API خود و هنگام پیکربندی میزبان مجازی استفاده می کنید.
  • نام مستعار میزبان میزبان مجازی. معمولاً نام مستعار میزبان، نام دامنه DNS است که به آدرس IP روی روتر نگاشت می شود. هدر Host درخواست های پروکسی API باید حاوی نام مستعار میزبان میزبان مجازی باشد.
  • یک پورت باز روی روتر
  • اینکه TLS (دسترسی HTTPS) فعال باشد یا خیر (دسترسی HTTP).

به عنوان مثال، هنگام ایجاد یک میزبان مجازی، اطلاعات زیر را مشخص می کنید:

  • نام = myvhost
  • نام مستعار میزبان = apis.acme.com
  • پورت = 443
  • TLS فعال است

بر اساس تنظیمات بالا برای میزبان مجازی، درخواست به یک پروکسی API از فرم زیر استفاده می کند:

https://apis.acme.com/{proxy-base-path}/{resource-path}

کجا:

  • { proxy-base-path } هنگام ایجاد یک پراکسی API تعریف می شود و برای هر پراکسی API منحصر به فرد است. به عنوان مثال:
    https://apis.acme.com/characters
  • { resource-path } مسیر یک منبع قابل دسترسی از طریق پراکسی API. به عنوان مثال:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

درباره میزبان های مجازی در Edge for the Cloud

هر سازمان Edge به طور خودکار شامل دو محیط ( test و prod )، دو میزبان مجازی در هر محیط ( پیش‌فرض و امن ) و رکوردهای DNS برای هر نام مستعار میزبان است.

نام مستعار میزبان هر میزبان مجازی ارائه شده توسط Apigee شامل نام سازمان و محیط است که در جدول زیر نشان داده شده است:

محیط زیست نام میزبان مجازی نام مستعار میزبان بندر TLS فعال شد
تولید پیش فرض {org-name}- prod .apigee.net 80 خیر
امن {org-name}- prod .apigee.net 443 بله
تست کنید پیش فرض {org-name}- test .apigee.net 80 خیر
امن {org-name}- test .apigee.net 443 بله

برای مثال، نام دامنه پیش‌فرض سازمانی به نام myorg در محیط prod ، myorg-prod.apigee.net است. بنابراین، برای دسترسی به یک پروکسی API در آن سازمان، از URL به شکل زیر استفاده می کنید:

http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}

برنامه های پولی Apigee: نام دامنه حاوی "apigee.net" ممکن است چیزی نباشد که شما می خواهید در معرض دید مشتریان خود قرار دهید. می‌توانید از یک ورودی DNS و رکورد CNAME برای ترسیم نام دامنه به سازمان خود در Edge استفاده کنید. همچنین باید یک میزبان مجازی با نام مستعار میزبان روی آن نام دامنه ایجاد کنید. این به توسعه دهندگان اجازه می دهد تا از طریق دامنه مخصوص شرکت شما به API شما دسترسی داشته باشند.

در اینجا یک مثال از یک دامنه سفارشی در Edge آورده شده است:

https://apis.acme.com/{proxy-base-path}/{resource-path}

درباره میزبان های مجازی در Edge برای Private Cloud

وقتی Apigee Edge را برای Private Cloud نصب می‌کنید، هیچ سازمان، محیط یا میزبان مجازی پیش‌فرضی برای شما ایجاد نمی‌شود. پس از تکمیل فرآیند نصب Edge، اولین اقدام شما معمولاً ایجاد یک سازمان، محیط و میزبان مجازی از طریق فرآیند "onboarding" است.

برای انجام Onboarding، دستور زیر را در گره Edge Management Server اجرا کنید:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

جایی که configFile حاوی اطلاعات لازم برای ایجاد کاربر، سازمان، محیط و میزبان مجازی است.

به عنوان مثال، شما ایجاد می کنید:

  • کاربری که انتخاب کرده اید به عنوان مدیر سازمان فعالیت کند
  • سازمانی به نام example
  • محیطی در سازمان به نام prod
  • یک میزبان مجازی در محیط به نام default که اجازه دسترسی به HTTP را در پورت 9001 می دهد
  • نام مستعار میزبان از نام DNS که برای دسترسی به روتر استفاده می شود، یا آدرس IP روتر و پورت میزبان مجازی به شکل IP:9001 .

بعداً می توانید هر تعداد سازمان، محیط و میزبان مجازی را به نسخه داخلی Edge خود اضافه کنید. برای اطلاعات بیشتر رجوع کنید به:

هاست های مجازی در روتر Edge باز می شوند. بنابراین، باید اطمینان حاصل کنید که پورتی که برای هاست مجازی تعیین می‌کنید در روتر باز است. برای باز کردن پورت می توانید از دستوری در فرم زیر استفاده کنید:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose

پس از اجرای این دستور، می توانید با استفاده از یک URL به شکل زیر به API های خود دسترسی داشته باشید:

http://<router-ip>:9001/{proxy-base-path}/{resource-path}

به طور معمول، شما API های خود را برای مشتریانی با آدرس IP و شماره پورت منتشر نمی کنید. در عوض، یک ورودی DNS برای روتر و پورت تعریف می کنید. به عنوان مثال:

http://myAPI.myCo.com/{proxy-base-path}/{resource-path}

هنگامی که ورودی DNS را تعریف می کنید، باید یک میزبان مجازی با نام مستعار میزبان ایجاد کنید که با نام دامنه ورودی DNS مطابقت داشته باشد. از مثال بالا، هنگام ایجاد میزبان مجازی، یک نام مستعار میزبان myAPI.myCo.com را مشخص می کنید.

درباره نام‌های مستعار میزبان و نام‌های DNS

یکی از ویژگی هایی که برای میزبان مجازی تنظیم می کنید، نام مستعار میزبان است. نام مستعار میزبان معمولاً نام DNS میزبان مجازی است. نحوه تنظیم نام مستعار میزبان به نوع نصب Edge شما بستگی دارد: Cloud یا Private Cloud.

نام مستعار میزبان و نام‌های DNS را در Edge for the Cloud میزبانی کنید

در Edge for the Cloud، زمانی که برای اولین بار یک سازمان Edge ایجاد می‌کنید، Apigee به طور خودکار دو محیط ( test و prod )، دو میزبان مجازی در هر محیط ( پیش‌فرض و امن ) و رکوردهای DNS برای هر میزبان مجازی ایجاد می‌کند.

نام مستعار میزبان هاست های مجازی حاوی نام سازمان و محیط است. بنابراین، درخواست از طریق یک میزبان مجازی به شکل زیر است:

  • http://{ org-name } -prod .apigee.net/{ proxy-base-path }/{ resource-path }
  • https://{ org-name } -prod .apigee.net/{ proxy-base-path }/{ resource-path }
  • http://{ org-name } -test .apigee.net/{ proxy-base-path }/{ resource-path }
  • https://{ org-name } -test .apigee.net/{ proxy-base-path }/{ resource-path }

به طور معمول، شما می خواهید به جای استفاده از دامنه پیش فرض apigee.net ، هاست های مجازی ایجاد کنید که از نام دامنه شما استفاده کنند. برای انجام این کار، ابتدا باید ورودی DNS و رکورد CNAME خود را ایجاد کنید.

شکل زیر یک پیکربندی معمولی برای نحوه پردازش درخواست API توسط Edge نشان می‌دهد:

در این مثال:

  • api.acme.com نام دامنه مورد نظر شماست.
  • شما یک ورودی DNS و رکورد CNAME را برای نقطه api.acme.com به acme-prod.apigee.net تعریف می کنید.
  • درخواست شامل سربرگ Host است که روتر برای تعیین میزبان مجازی که درخواست را مدیریت می کند، استفاده می کند.

در این مثال، اطلاعات زیر را در تعریف میزبان مجازی مشخص می‌کنید:

  • نام = myvhost
  • نام مستعار میزبان = apis.acme.com
  • پورت = 443
  • دسترسی TLS را فعال کنید

برای اطلاعات بیشتر به پیکربندی میزبان های مجازی برای Cloud مراجعه کنید.

نام مستعار و DNS را در Edge برای Private Cloud میزبانی کنید

همانند Edge for the Cloud، شما هاست های مجازی ایجاد می کنید که از نام دامنه خود برای نام مستعار میزبان استفاده می کنند. سپس ورودی DNS و رکورد CNAME خود را برای دسترسی به آن میزبان های مجازی ایجاد می کنید.

یکی از تفاوت های Cloud و Private Cloud این است که در Cloud Apigee به طور خودکار نام های DNS را برای سازمان های شما ایجاد می کند، به شکل:

  • name= default : http://{ org-name }-{ env-name }.apigee.net (درگاه روتر 80)
  • name= safe : https://{ org-name }-{ env-name }.apigee.net (درگاه روتر 443)

در Edge for the Private Cloud، باید ورودی های DNS را در آدرس IP و پورت روتر خود ایجاد کنید.

به عنوان مثال، شما این اطلاعات را در تعریف میزبان مجازی مشخص می کنید:

  • نام = myvhost
  • نام مستعار میزبان = apis.acme.com
  • پورت = 9001
  • دسترسی TLS را فعال کنید

شکل زیر یک پیکربندی معمولی برای نحوه پردازش درخواست API توسط Edge نشان می‌دهد:

در این مثال:

  • api.acme.com نام دامنه مورد نظر شماست.
  • شما یک ورودی DNS و رکورد CNAME را برای نشان دادن api.acme.com به آدرس IP و پورت روتر تعریف می کنید.
  • درخواست شامل سربرگ Host است که روتر برای تعیین میزبان مجازی که درخواست را مدیریت می کند، استفاده می کند.

برای اطلاعات بیشتر به پیکربندی میزبان های مجازی برای Private Cloud مراجعه کنید.

میزبان نام مستعار و حروف عام

می توانید کاراکتر عام "*" را در نام مستعار میزبان قرار دهید. کاراکتر عام "*" فقط می تواند در ابتدای (قبل از ".") اول نام مستعار میزبان باشد و نمی تواند با کاراکترهای دیگر مخلوط شود.

در زیر نمونه ای از نام مستعار میزبان معتبر با استفاده از wildcard آمده است:

*.example.com

مثال های زیر نامعتبر هستند:

  www.*.example.com
  w*.example.com

استفاده از حروف عام در نام مستعار میزبان مجازی به پراکسی‌های API اجازه می‌دهد تا تماس‌های خطاب‌شده به چندین زیردامنه مانند alpha.example.com ، beta.example.com یا live.example.com را مدیریت کنند. استفاده از نام مستعار wildcard همچنین به شما کمک می‌کند از میزبان‌های مجازی کمتری در هر محیط استفاده کنید تا در محدوده محصول باقی بمانید، زیرا یک میزبان مجازی با علامت عام تنها به عنوان یک میزبان مجازی به حساب می‌آید.

گواهی TLS برای میزبان مجازی باید دارای یک علامت عام منطبق در نام CN گواهی باشد. به عنوان مثال، *.example.com .

درباره خواص میزبان مجازی

در Edge، یک میزبان مجازی با یک شی XML نشان داده می شود. به عنوان مثال، شی XML زیر یک میزبان مجازی را تعریف می کند:

<VirtualHost name="vhostName">
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    <Port>portNumber</Port>
    <BaseURL>http://myCo.com<</BaseUrl>
    <OCSPStapling>off</OCSPStapling>
    <RetryOptions/>
   <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

لیست ویژگی هایی که می توانید تنظیم کنید بر اساس این است که از Edge برای Cloud یا Edge برای Private Cloud استفاده می کنید. اگر از Edge برای Private Cloud استفاده می کنید، لیست ویژگی های موجود نیز به نسخه Edge شما بستگی دارد. برای توضیح کامل همه ویژگی‌های یک میزبان مجازی، مرجع ویژگی میزبان مجازی را ببینید.

برای اطلاعات بیشتر در مورد ایجاد هاست مجازی برای نسخه خاص Edge خود، ببینید: