Tentang host virtual

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

Di Edge, Router menangani semua traffic API yang masuk. Artinya, semua permintaan HTTP dan HTTPS ke proxy API akan ditangani terlebih dahulu oleh Router Edge.

Host virtual memungkinkan Anda menghosting beberapa nama domain di server. Untuk Edge, server sesuai dengan Router Edge. Dengan menentukan beberapa host virtual di Router, Router dapat menangani permintaan API ke beberapa nama domain.

Host virtual di Edge menentukan protokol akses (HTTP atau HTTPS), port Router terbuka, dan alias host. Alias {i>host<i} biasanya adalah nama domain DNS yang memetakan ke alamat IP {i>Router<i}.

Misalnya, gambar berikut menunjukkan Router dengan dua definisi host virtual:

Host virtual pertama menangani permintaan HTTPS di domain domainName1 dan yang kedua menangani permintaan HTTP di domainName2.

Pada permintaan ke proxy API, Router membandingkan header Host dari permintaan masuk dengan daftar alias host yang ditentukan oleh semua host virtual untuk menentukan host virtual mana yang menangani permintaan.

Tentang definisi host virtual

Host virtual berisi informasi berikut:

  • Nama internal host virtual. Anda dapat menggunakan nama tersebut untuk mereferensikan host virtual dalam proxy API dan saat mengonfigurasi host virtual.
  • Alias host dari host virtual. Biasanya alias host adalah nama domain DNS yang memetakan ke alamat IP di Router. Header Host dari permintaan proxy API harus berisi alias host dari host virtual.
  • Port terbuka di Router.
  • Apakah TLS (akses HTTPS) diaktifkan atau tidak (akses HTTP).

Misalnya, Anda menetapkan informasi berikut saat membuat host virtual:

  • name = myvhost
  • alias host = apis.acme.com
  • port = 443
  • TLS diaktifkan

Berdasarkan setelan di atas untuk host virtual, permintaan ke proxy API menggunakan bentuk:

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

dalam hal ini:

  • {proxy-base-path} ditentukan saat Anda membuat proxy API dan bersifat unik untuk setiap proxy API. Contoh:
    https://apis.acme.com/characters
  • {resource-path} jalur ke resource yang dapat diakses melalui proxy API. Contoh:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

Tentang host virtual di Edge for the Cloud

Setiap organisasi Edge secara otomatis menyertakan dua lingkungan (test dan prod), dua host virtual di setiap lingkungan (default dan secure), dan data DNS untuk setiap alias host.

Alias host dari setiap host virtual yang disediakan Apigee berisi nama organisasi dan lingkungan, seperti yang ditunjukkan dalam tabel berikut:

Lingkungan Nama host virtual Alias host Port TLS diaktifkan
prod default {org-name}-prod.apigee.net 80 Tidak
aman {org-name}-prod.apigee.net 443 Ya
tes default {org-name}-test.apigee.net 80 Tidak
aman {org-name}-test.apigee.net 443 Ya

Misalnya, nama domain default organisasi bernama "myorg" di lingkungan prod adalah "myorg-prod.apigee.net". Oleh karena itu, untuk mengakses proxy API di organisasi tersebut, gunakan URL dalam bentuk:

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

Paket berbayar Apigee: Nama domain yang berisi "apigee.net" mungkin bukan nama yang ingin Anda ekspos kepada pelanggan. Anda dapat menggunakan entri DNS dan data CNAME untuk memetakan nama domain ke organisasi Anda di Edge. Anda juga harus membuat host virtual dengan alias host yang disetel ke nama domain tersebut. Hal ini memungkinkan developer mengakses API Anda melalui domain khusus untuk perusahaan Anda.

Berikut adalah contoh domain kustom di Edge:

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

Tentang host virtual di Edge untuk Private Cloud

Saat Anda menginstal Apigee Edge untuk Private Cloud, tidak ada organisasi, lingkungan, atau host virtual default yang dibuat untuk Anda. Setelah menyelesaikan proses penginstalan Edge, tindakan pertama Anda biasanya adalah membuat organisasi, lingkungan, dan host virtual melalui proses "orientasi".

Untuk melakukan orientasi, jalankan perintah berikut pada node Edge Management Server:

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

dengan configFile berisi informasi yang diperlukan untuk membuat pengguna, organisasi, lingkungan, dan host virtual.

Misalnya, Anda membuat:

  • Pengguna yang Anda pilih untuk berfungsi sebagai administrator organisasi
  • Organisasi bernama example
  • Lingkungan di organisasi bernama prod
  • Host virtual di lingkungan bernama default yang mengizinkan akses HTTP pada port 9001
  • Alias host dari nama DNS yang digunakan untuk mengakses Router, atau alamat IP Router dan port host virtual dalam bentuk IP:9001.

Nantinya Anda dapat menambahkan sejumlah organisasi, lingkungan, dan host virtual ke versi Edge lokal Anda. Untuk informasi selengkapnya, lihat:

Host virtual dibuka di Edge Router. Oleh karena itu, Anda harus memastikan port yang Anda tentukan untuk host virtual terbuka di Router. Anda dapat menggunakan perintah dalam formulir di bawah ini untuk membuka port:

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

Setelah menjalankan perintah tersebut, Anda dapat mengakses API menggunakan URL dalam format:

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

Biasanya, Anda tidak memublikasikan API kepada pelanggan dengan alamat IP dan nomor port. Sebagai gantinya, Anda menentukan entri DNS untuk {i>router<i} dan porta. Contoh:

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

Saat menentukan entri DNS, Anda juga harus membuat host virtual dengan alias host yang cocok dengan nama domain entri DNS tersebut. Dari contoh di atas, Anda akan menetapkan alias host myAPI.myCo.com saat membuat host virtual.

Tentang alias host dan nama DNS

Satu properti yang Anda tetapkan untuk host virtual adalah alias host. Alias host biasanya adalah nama DNS dari host virtual. Cara Anda menetapkan alias host bergantung pada jenis penginstalan Edge: Cloud atau Private Cloud.

Alias host dan nama DNS di Edge untuk Cloud

Di Edge untuk Cloud, saat Anda pertama kali membuat organisasi Edge, Apigee otomatis membuat dua lingkungan (test dan prod), dua host virtual di setiap lingkungan (default dan secure), dan data DNS untuk setiap host virtual.

Alias host dari host virtual berisi nama organisasi dan lingkungan. Oleh karena itu, permintaan melalui {i>host<i} virtual memiliki bentuk:

  • 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}

Biasanya, Anda ingin membuat host virtual yang menggunakan nama domain Anda, bukan menggunakan domain apigee.net default. Untuk melakukannya, Anda harus terlebih dahulu membuat entri DNS dan data CNAME Anda sendiri.

Gambar berikut menunjukkan konfigurasi umum tentang cara Edge memproses permintaan API:

Dalam contoh ini:

  • api.acme.com adalah nama domain yang Anda inginkan.
  • Anda menentukan entri DNS dan data CNAME untuk mengarahkan api.acme.com ke acme-prod.apigee.net.
  • Permintaan tersebut berisi header Host yang digunakan Router untuk menentukan host virtual yang menangani permintaan.

Dalam contoh ini, Anda menetapkan informasi berikut dalam definisi host virtual:

  • name = myvhost
  • alias host = apis.acme.com
  • port = 443
  • Mengaktifkan akses TLS

Lihat Mengonfigurasi host virtual untuk Cloud guna mengetahui informasi selengkapnya.

Alias host dan nama DNS di Edge untuk Private Cloud

Seperti halnya Edge for the Cloud, Anda membuat host virtual yang menggunakan nama domain Anda sendiri untuk alias host. Anda kemudian membuat entri DNS Anda sendiri dan data CNAME untuk mengakses {i>host<i} virtual tersebut.

Salah satu perbedaan antara Cloud dan Private Cloud adalah, di Cloud Apigee, nama DNS otomatis dibuat untuk organisasi Anda, dalam bentuk:

  • name=default: http://{org-name}-{env-name}.apigee.net (Port router 80)
  • name=secure: https://{org-name}-{env-name}.apigee.net (Port router 443)

Di Edge untuk Private Cloud, Anda harus membuat entri DNS ke alamat IP dan port Router.

Misalnya, Anda menetapkan informasi ini dalam definisi host virtual:

  • name = myvhost
  • alias host = apis.acme.com
  • port = 9001
  • Mengaktifkan akses TLS

Gambar berikut menunjukkan konfigurasi umum tentang cara Edge memproses permintaan API:

Dalam contoh ini:

  • api.acme.com adalah nama domain yang Anda inginkan.
  • Anda menentukan entri DNS dan data CNAME untuk mengarahkan api.acme.com ke alamat IP dan port Router.
  • Permintaan tersebut berisi header Host yang digunakan Router untuk menentukan host virtual yang menangani permintaan.

Lihat Mengonfigurasi host virtual untuk Private Cloud guna mengetahui informasi selengkapnya.

Alias dan karakter pengganti host

Anda dapat menyertakan karakter pengganti "*" dalam alias host. Karakter pengganti "*" hanya boleh berada di awal (sebelum ".") dari alias host, dan tidak dapat dicampur dengan karakter lain.

Berikut adalah contoh alias host yang valid menggunakan karakter pengganti:

*.example.com

Contoh berikut tidak valid:

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

Penggunaan karakter pengganti dalam alias host virtual memungkinkan proxy API menangani panggilan yang dialamatkan ke beberapa subdomain seperti alpha.example.com, beta.example.com, atau live.example.com. Penggunaan alias karakter pengganti juga membantu Anda menggunakan lebih sedikit host virtual per lingkungan agar tidak melebihi batas produk, karena host virtual dengan karakter pengganti hanya dihitung sebagai satu host virtual.

Sertifikat TLS untuk host virtual harus memiliki karakter pengganti yang cocok pada nama CN sertifikat. Misalnya, *.example.com.

Tentang properti host virtual

Di Edge, host virtual direpresentasikan oleh objek XML. Misalnya, objek XML berikut menentukan host virtual:

<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>

Daftar properti yang dapat Anda setel didasarkan pada apakah Anda menggunakan Edge untuk Cloud atau Edge untuk Private Cloud. Jika Anda menggunakan Edge untuk Private Cloud, daftar properti yang tersedia juga bergantung pada versi Edge Anda. Untuk deskripsi lengkap tentang semua properti host virtual, lihat Referensi properti host virtual.

Guna mengetahui informasi selengkapnya tentang cara membuat host virtual untuk versi Edge spesifik Anda, lihat: