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

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

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

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

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

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

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

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

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

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

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

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

  • نام = میزبان من
  • نام مستعار میزبان = apis.acme.com
  • پورت = ۴۴۳
  • 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 )، دو میزبان مجازی در هر محیط ( default و secure ) و رکوردهای DNS برای هر نام مستعار میزبان است.

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

محیط زیست نام میزبان مجازی نام مستعار میزبان بندر TLS فعال است
تولید پیش‌فرض {org-name}- prod .apigee.net ۸۰ خیر
امن {org-name}- prod .apigee.net ۴۴۳ بله
آزمون پیش‌فرض {org-name}- test .apigee.net ۸۰ خیر
امن {org-name}- test .apigee.net ۴۴۳ بله

برای مثال، نام دامنه پیش‌فرض سازمانی به نام « 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 برای ابر خصوصی

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

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

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

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

برای مثال، شما ایجاد می‌کنید:

  • کاربری که شما به عنوان مدیر سازمان انتخاب می‌کنید
  • سازمانی به نام example
  • محیطی در سازمان به نام prod
  • یک میزبان مجازی در محیطی با نام default که امکان دسترسی HTTP را روی پورت ۹۰۰۱ فراهم می‌کند.
  • یک نام مستعار میزبان با نام 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 برای فضای ابری

در Edge for the Cloud، وقتی برای اولین بار یک سازمان Edge ایجاد می‌کنید، Apigee به طور خودکار دو محیط ( test و prod )، دو میزبان مجازی در هر محیط ( default و secure ) و رکوردهای 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 است که روتر از آن برای تعیین میزبان مجازی که درخواست را مدیریت می‌کند، استفاده می‌کند.

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

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

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

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

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

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

  • name= default : http://{ org-name }-{ env-name }.apigee.net (پورت روتر ۸۰)
  • نام= امن : https://{ org-name }-{ env-name }.apigee.net (پورت روتر ۴۴۳)

در Edge برای فضای ابری خصوصی، باید ورودی‌های DNS را برای آدرس IP و پورت روتر خود ایجاد کنید.

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

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

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

در این مثال:

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

برای اطلاعات بیشتر به پیکربندی میزبان‌های مجازی برای ابر خصوصی مراجعه کنید.

نام‌های مستعار میزبان و کاراکترهای جایگزین

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

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

*.example.com

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

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

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

گواهی TLS برای میزبان مجازی باید دارای یک کاراکتر جایگزین (wildcard) مطابق با نام 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 خود، به موارد زیر مراجعه کنید: