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

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

در یک نصب داخلی، شما کنترل کاملی بر هاست مجازی دارید. شما می توانید هاست های مجازی برای هر سازمانی، در هر محیطی، با استفاده از TLS یا نه، ایجاد کنید.

این سند نحوه ایجاد یک میزبان مجازی ساده را توضیح می دهد. یعنی یکی که از TLS پشتیبانی نمی کند. برای مثال‌های بیشتر، از جمله مثال‌هایی درباره ایجاد میزبان‌های مجازی که از TLS پشتیبانی می‌کنند، به پیکربندی دسترسی TLS به یک API برای Private Cloud مراجعه کنید.

بیشتر بدانید :

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

هنگام ایجاد هاست مجازی، باید نام مستعار میزبان میزبان مجازی را مشخص کنید. معمولاً این نام DNS میزبان مجازی است.

Edge Router هدر Host درخواست ورودی را با لیست نام مستعار میزبان موجود به عنوان بخشی از تعیین پراکسی API که درخواست را مدیریت می کند مقایسه می کند. هنگام درخواست از طریق یک میزبان مجازی، یا نام دامنه ای را مشخص کنید که با نام مستعار میزبان مجازی مطابقت داشته باشد، یا آدرس IP روتر و هدر Host حاوی نام مستعار میزبان را مشخص کنید.

به عنوان مثال، اگر یک میزبان مجازی با نام مستعار میزبان myapis.apigee.net در پورت 9001 ایجاد کرده باشید، درخواست 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 ندارید، یکی از گزینه‌ها این است که نام مستعار میزبان را روی آدرس IP روتر و پورت میزبان مجازی، به عنوان port routerIP : قرار دهید. مثلا:

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 و بالاتر

هنگام ایجاد هاست مجازی، پورت روتر مورد استفاده میزبان مجازی را مشخص می کنید. به عنوان مثال، پورت 9001.

برای نسخه‌های Apigee for Private Cloud نسخه‌های 4.16.01 و جدیدتر، به‌طور پیش‌فرض، روتر به‌عنوان کاربر «apigee» اجرا می‌شود که به پورت‌های ممتاز، معمولاً پورت‌های 1024 و پایین‌تر، دسترسی ندارد. اگر می خواهید یک میزبان مجازی ایجاد کنید که روتر را به یک پورت محافظت شده متصل می کند، باید روتر را طوری پیکربندی کنید که به عنوان یک کاربر با دسترسی به آن پورت ها اجرا شود. برای اطلاعات بیشتر به راه اندازی میزبان مجازی مراجعه کنید.

هاست مجازی ایجاد کنید

در این بخش نحوه ایجاد هاست مجازی برای Apigee Edge برای Private Cloud توضیح داده شده است. توجه داشته باشید که برای ایجاد یک هاست مجازی جدید، باید مدیر سازمان باشید.

می‌توانید با استفاده از API یا Edge UI میزبان‌های مجازی برای Apigee Edge for Private Cloud ایجاد کنید. این موارد در بخش های بعدی توضیح داده شده است.

با استفاده از مرورگر یک هاست مجازی ایجاد کنید

این بخش نحوه ایجاد هاست مجازی با استفاده از مرورگر (فقط Edge UI) را توضیح می دهد.

برای ایجاد یک میزبان مجازی جدید در رابط کاربری Edge:

  1. وارد رابط کاربری Edge management شوید.
  2. Admin > Virtual Hosts را انتخاب کنید.
  3. محیط را از لیست کشویی انتخاب کنید.

    Edge لیستی از میزبان های مجازی را برای آن محیط نمایش می دهد.

  4. برای ایجاد یک میزبان مجازی جدید، + Virtual Host را انتخاب کنید.

    Edge فرم Create Virtual Host را نمایش می دهد.

    همچنین می‌توانید روی نام میزبان مجازی موجود برای ویرایش آن کلیک کنید.

  5. هاست مجازی جدید خود را تعریف کنید. توجه داشته باشید که فیلد URL پایه باید شامل پروتکل باشد (به عنوان مثال، مقدار فیلد را با "http://" یا "https://" پیشوند قرار دهید.)

    علاوه بر این، توجه داشته باشید که:

    • هیچ محدودیتی برای تعداد هاست های مجازی که می توانید ایجاد کنید وجود ندارد
    • TLS اختیاری است و می تواند نسخه 1.0، 1.1 یا 1.2 باشد
    • پورت میزبان مجازی قابل تنظیم است
  6. برای ذخیره هاست مجازی جدید خود، روی دکمه 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 استفاده می کند، موارد زیر را انجام دهید:

  1. میزبان مجازی را با استفاده از Create a Virtual Host API ایجاد کنید، جایی که ms-IP آدرس IP یا نام دامنه گره مدیریت سرور است:
    $ 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
    
  2. رکورد DNS را برای میزبان مجازی که با نام مستعار میزبان مطابقت دارد ایجاد کنید.
  3. اگر پروکسی های API موجود دارید، میزبان مجازی را به عنصر <HTTPConnection> در نقطه پایانی پروکسی اضافه کنید. میزبان مجازی به طور خودکار به تمام پراکسی های API جدید اضافه می شود. به پیکربندی یک پروکسی API برای استفاده از میزبان مجازی مراجعه کنید.

تغییر میزبان مجازی

برای تغییر میزبان مجازی، موارد زیر را انجام دهید:

  1. میزبان مجازی را با استفاده از Update a Virtual Host API به روز کنید، جایی که <ms-IP> آدرس IP یا نام دامنه گره مدیریت سرور است. شما باید تعریف کامل میزبان مجازی را در بدنه درخواست مشخص کنید، نه فقط عناصری را که می خواهید تغییر دهید. در این مثال، شماره پورت هاست مجازی را از 9008 به 9009 تغییر می دهید:

    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
  2. فقط برای Edge for Private Cloud نسخه‌های 4.16.01 و 4.16.05 ، اگر یک میزبان مجازی موجود را تغییر دهید و TLS را فعال کنید یا TLS را بدون تغییر شماره پورت غیرفعال کنید، پس:
    1. روتر را متوقف کنید:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. هر فایلی را در /opt/nginx/conf.d حذف کنید:

      rm -f /opt/nginx/conf.d/*
    3. روتر را راه اندازی کنید:

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. برای همه روترها تکرار کنید.