Mengonfigurasi host virtual untuk Private Cloud

Anda melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Dalam penginstalan lokal, Anda memiliki kontrol penuh atas host virtual. Anda dapat membuat host virtual untuk organisasi mana pun, di lingkungan mana pun, menggunakan TLS atau tidak.

Dokumen ini menjelaskan cara membuat host virtual sederhana. Yaitu, host yang tidak mendukung TLS. Untuk contoh lainnya, termasuk contoh cara membuat host virtual yang mendukung TLS, lihat Mengonfigurasi TLS akses ke API untuk Cloud Pribadi.

Pelajari lebih lanjut:

Tentang alias host

Saat membuat host virtual, Anda harus menentukan alias host virtual. Biasanya, ini adalah nama DNS host virtual.

Router Edge membandingkan header Host dari permintaan masuk dengan daftar alias host yang tersedia sebagai bagian dari penentuan proxy API yang menangani permintaan. Saat membuat permintaan melalui host virtual, tentukan nama domain yang cocok dengan alias host host virtual, atau tentukan alamat IP Router dan Host header yang berisi alias host.

Misalnya, jika Anda membuat host virtual dengan alias host myapis.apigee.net di port 9001, permintaan cURL ke API melalui host virtual tersebut dapat menggunakan salah satu bentuk berikut:

  • Jika Anda memiliki entri DNS untuk myapis.apigee.net:

    curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
  • Jika Anda tidak memiliki entri DNS untuk myapis.apigee.net:

    curl http://routerIP:9001/proxy-base-path/resource-path -H 'host:myapis.apigee.net'

    Dalam formulir ini, Anda menentukan alamat IP Router, dan meneruskan alias host di dalam Host header.

    curl http://routerIP:9001/proxy-base-path/resource-path

Opsi jika Anda tidak memiliki entri DNS untuk host virtual

Salah satu opsi jika Anda tidak memiliki entri DNS adalah menetapkan alias host ke alamat IP Router dan port host virtual, sebagai routerIP:port. Contoh:

192.168.1.31:9001

Saat Anda membuat perintah curl dalam bentuk di bawah ini:

curl http://routerIP:9001/proxy-base-path/resource-path

Opsi ini lebih disukai karena berfungsi baik dengan UI Edge.

Jika Anda memiliki beberapa Router, tambahkan alias host untuk setiap Router, dengan menentukan alamat IP setiap Router dan port host virtual.

Atau, Anda dapat menetapkan alias host ke nilai, seperti temp.hostalias.com. Kemudian, Anda harus meneruskan header Host pada setiap permintaan:

curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'Host: temp.hostalias.com'

Atau, tambahkan alias host ke file /etc/hosts. Misalnya, tambahkan baris ini ke /etc/hosts:

192.168.1.31 temp.hostalias.com

Kemudian, Anda dapat membuat permintaan seolah-olah Anda memiliki entri DNS:

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path

Tentang port host virtual di Edge untuk Cloud Pribadi 4.16.01 dan yang lebih baru

Saat membuat host virtual, Anda menentukan port Router yang digunakan oleh host virtual. Misalnya, port 9001.

Untuk rilis Apigee untuk Cloud Pribadi 4.16.01 dan yang lebih baru, secara default, Router berjalan sebagai pengguna "apigee" yang tidak memiliki akses ke port istimewa, biasanya port 1024 dan yang lebih rendah. Jika Anda ingin membuat host virtual yang mengikat Router ke port yang dilindungi, Anda harus mengonfigurasi Router untuk berjalan sebagai pengguna dengan akses ke port tersebut. Lihat Menyiapkan host virtual untuk mengetahui informasi selengkapnya.

Membuat host virtual

Bagian ini menjelaskan cara membuat host virtual untuk Apigee Edge untuk Cloud Pribadi. Perhatikan bahwa untuk membuat host virtual baru, Anda harus menjadi administrator organisasi.

Anda dapat membuat host virtual untuk Apigee Edge untuk Cloud Pribadi menggunakan API atau UI Edge. Hal ini dijelaskan di bagian berikut.

Membuat host virtual menggunakan browser

Bagian ini menjelaskan cara membuat host virtual menggunakan browser (hanya UI Edge).

Untuk membuat host virtual baru di UI Edge:

  1. Login ke UI pengelolaan Edge.
  2. Pilih Admin > Host Virtual.
  3. Pilih lingkungan dari daftar drop-down.

    Edge menampilkan daftar host virtual untuk lingkungan tersebut.

  4. Untuk membuat host virtual baru, pilih + Host Virtual.

    Edge menampilkan formulir Buat Host Virtual.

    Anda juga dapat mengklik nama host virtual yang ada untuk mengeditnya.

  5. Tentukan host virtual baru Anda. Perhatikan bahwa kolom URL Dasar harus menyertakan protokol (yaitu, beri awalan nilai kolom dengan "http://" atau "https://".)

    Selain itu, perhatikan bahwa:

    • Tidak ada batasan jumlah host virtual yang dapat Anda buat
    • TLS bersifat opsional, dan dapat berupa versi 1.0, 1.1, atau 1.2
    • Port host virtual dapat dikonfigurasi
  6. Klik tombol Buat untuk menyimpan host virtual baru Anda.

Membuat host virtual dengan API

Untuk membuat host virtual dengan API, buat objek XML yang menentukan host virtual. Misalnya, objek XML berikut menentukan host virtual yang menggunakan protokol HTTP:

<VirtualHost name="myVHost">
   <HostAliases>
     <HostAlias>DNS_name_or_IP:port</HostAlias>
   </HostAliases>
   <Interfaces/>
   <Port>9005</Port>
</VirtualHost>

Perhatikan bahwa host virtual berisi properti name. Anda menggunakan nilai properti name untuk mengonfigurasi proxy API agar menggunakan host virtual.

Kemudian, Anda dapat mengakses proxy API melalui host virtual ini dengan membuat permintaan ke:

http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path

Dengan:

  • http atau https: Jika host virtual dikonfigurasi untuk mendukung TLS, gunakan HTTPS. Jika host virtual tidak mendukung TLS, gunakan HTTP.
  • routerIP:port adalah alamat IP dan nomor port host virtual.
  • proxy-base-path dan resource-path ditentukan saat Anda membuat proxy API.

Biasanya, Anda tidak memublikasikan API ke pelanggan dengan alamat IP dan nomor port. Sebagai gantinya, Anda menentukan entri DNS untuk Router dan port. Contoh:

http://api.myCompany.com/proxy-base-path/resource-path
https://api.myCompany.com/proxy-base-path/resource-path

Jika Anda menentukan entri DNS, Anda harus membuat alias host untuk host virtual yang cocok dengan nama domain entri DNS. Alias host harus cocok dengan string yang diteruskan klien di header Host. Dari contoh di atas, Anda akan menentukan alias host api.myCompany.com.

<VirtualHost name="myVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Interfaces/>
    <Port>9005</Port>
</VirtualHost>

Untuk membuat host virtual yang menggunakan protokol HTTP, lakukan hal berikut:

  1. Buat host virtual menggunakan Create a Virtual Host API, dengan ms-IP adalah alamat IP atau nama domain node Server Pengelolaan:
    $ 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. Buat data DNS untuk host virtual yang cocok dengan alias host.
  3. Jika Anda memiliki proxy API yang ada, tambahkan host virtual ke elemen <HTTPConnection> di Endpoint Proxy. Host virtual ditambahkan secara otomatis ke semua proxy API baru. Lihat Mengonfigurasi proxy API untuk menggunakan host virtual.

Mengubah host virtual

Untuk mengubah host virtual, lakukan hal berikut:

  1. Perbarui host virtual menggunakan Update a Virtual Host API, dengan <ms-IP> adalah alamat IP atau nama domain node Server Pengelolaan. Anda harus menentukan definisi lengkap host virtual dalam isi permintaan, bukan hanya elemen yang ingin Anda ubah. Dalam contoh ini, Anda mengubah nomor port host virtual dari 9008 menjadi 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. Hanya untuk Edge untuk Cloud Pribadi versi 4.16.01 dan 4.16.05, Jika Anda mengubah host virtual yang ada, dan Anda mengaktifkan TLS atau menonaktifkan TLS tanpa mengubah nomor port, maka:
    1. Hentikan Router:

      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
    2. Hapus file apa pun di /opt/nginx/conf.d:

      rm -f /opt/nginx/conf.d/*
    3. Mulai Router:

      /opt/apigee/apigee-service/bin/apigee-service edge-router start
    4. Ulangi untuk semua Router.