Anda melihat dokumentasi Apigee Edge.
Buka
dokumentasi Apigee X. info
Pelanggan Cloud dengan akun berbayar dan semua pelanggan Edge untuk Private Cloud dapat membuat host virtual di organisasi. Pengguna yang membuat host virtual harus memiliki peran administrator organisasi, atau dalam peran kustom dengan izin untuk mengubah host virtual. Pengguna dengan peran lain tidak memiliki otorisasi untuk membuat host virtual.
Tonton video pengantar host virtual.
Membuat host virtual
Gunakan prosedur dasar berikut untuk membuat host virtual. Prosedur sebenarnya yang Anda gunakan didasarkan pada apakah Anda adalah pelanggan Cloud atau Private Cloud, dan apakah Anda mengaktifkan TLS:
- Buat entri DNS dan data CNAME untuk domain yang menghadap publik.
- Jika mengaktifkan TLS di host virtual:
- Buat dan konfigurasi keystore menggunakan prosedur yang dijelaskan di sini: Keystore dan Truststore.
- Upload sertifikat dan kunci Anda ke keystore. Pastikan nama domain yang ditentukan oleh sertifikat Anda cocok dengan alias host yang ingin Anda gunakan untuk host virtual.
- Buat referensi ke keystore menggunakan UI atau API Edge. Referensi
menentukan nama keystore dan jenis referensi sebagai
KeyStore. Lihat Bekerja dengan referensi untuk mengetahui informasi selengkapnya tentang cara membuat dan mengubah referensi. - Jika Anda melakukan TLS dua arah, buat truststore, upload sertifikat, dan buat referensi ke truststore. Buat truststore menggunakan prosedur yang dijelaskan di sini: Keystore dan Truststore.
- Buat host virtual menggunakan Create a Virtual Host API. Jika mengaktifkan TLS, pastikan untuk menentukan referensi keystore, referensi truststore, dan alias kunci yang benar.
- Jika Anda memiliki proxy API yang ada, tambahkan host virtual ke ProxyEndpoint.
Host virtual akan otomatis ditambahkan ke semua proxy API baru. Lihat
Mengonfigurasi proxy API untuk menggunakan host virtual.
Setelah memperbarui proxy API untuk menggunakan host virtual, dan membuat entri DNS dan data CNAME untuk alias host, Anda dapat mengakses proxy API seperti yang ditunjukkan di bawah:
https://api.myCompany.com/v1/project-base-path/resource-path
Contoh:
https://api.myCompany.com/v1/weather/forecastrss?w=12797282
Membuat host virtual menggunakan API atau UI
Anda dapat membuat host virtual menggunakan Edge API atau UI Edge.
Sebagian besar contoh di bawah menggunakan Edge API. Untuk mengakses UI guna membuat, mengubah, dan menghapus host virtual di UI Edge:
- Login ke apigee.com/edge
Pelanggan Edge for Private Cloud menggunakan
http://ms-ip:9000(lokal), dengan ms-ip adalah alamat IP atau nama DNS dari node Server Pengelolaan. - Pilih Admin > Virtual Hosts di menu navigasi sebelah kiri.
- Pilih lingkungan, seperti prod atau test.
Host virtual yang ditentukan untuk lingkungan akan ditampilkan. - Pilih + Virtual Host untuk membuat host virtual atau pilih nama host virtual yang ada untuk mengeditnya.
Membuat host virtual untuk HTTP
Pelanggan Edge for Private Cloud dapat membuat host virtual menggunakan HTTP.
Untuk membuat host virtual yang tidak mendukung TLS, buat objek XML yang menentukan host virtual. Misalnya, objek XML berikut menentukan host virtual yang menggunakan protokol HTTP:
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>80</Port>
</VirtualHost>Dalam definisi ini, Anda:
- Menentukan name sebagai myVHost. Menggunakan nama untuk mereferensikan host virtual dalam proxy API atau dalam panggilan API.
- Menentukan host alias sebagai api.myCompany.com. Ini adalah domain yang menghadap publik yang digunakan untuk mengakses API Anda seperti yang ditentukan oleh definisi DNS dan data CNAME data.
- Menentukan nomor port sebagai 80. Jika dihapus, secara default port akan ditetapkan ke 443.
Ada properti tambahan yang dapat Anda tetapkan di host virtual. Untuk referensi semua properti, lihat Referensi properti host virtual.
Jika Anda memiliki proxy API yang ada, tambahkan host virtual ke elemen <HTTPConnection>
di Endpoint Proxy. Host virtual akan otomatis ditambahkan ke semua proxy API baru.
Lihat Mengonfigurasi proxy API untuk menggunakan host virtual.
Jika Anda membuat proxy API baru yang tidak boleh diakses melalui host virtual tertentu,
Anda harus mengedit proxy API untuk menghapus host virtual tersebut dari ProxyEndpoint-nya.
Kemudian, Anda dapat mengakses proxy API melalui host virtual ini dengan membuat permintaan ke:
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
Buat host virtual menggunakan Create a Virtual Host API:
curl -X POST -H "Content-Type:application/xml" \
http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
-d '<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>80</Port>
</VirtualHost>' \
-u sysAdminEmail:passwordMembuat host virtual untuk TLS satu arah
Objek XML berikut menentukan host virtual untuk TLS satu arah:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
</VirtualHost>Dalam definisi ini, Anda mengaktifkan TLS dengan menetapkan elemen <Enable>
ke benar (true), dan menggunakan elemen <KeyStore> dan <KeyAliase>
untuk menentukan keystore dan alias kunci yang digunakan oleh koneksi TLS.
Lihat TLS/SSL untuk mengetahui informasi selengkapnya tentang penggunaan TLS.
Memutuskan cara menentukan nama keystore dan truststore di host virtual
Saat mengonfigurasi host virtual untuk mendukung TLS, Anda menentukan keystore menggunakan referensi. Referensi adalah variabel yang berisi nama keystore atau truststore, bukan menentukan nama keystore atau truststore nama secara langsung, seperti yang ditunjukkan di bawah:
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>Keuntungan menggunakan referensi adalah Anda dapat mengubah nilai referensi untuk mengubah keystore yang digunakan oleh host virtual, biasanya karena sertifikat di keystore saat ini akan segera berakhir. Mengubah nilai referensi tidak mengharuskan Anda memulai ulang Edge Router. Lihat Bekerja dengan referensi untuk mengetahui informasi selengkapnya tentang cara membuat dan mengubah referensi.
Anda hanya dapat menggunakan referensi ke keystore dan truststore; Anda tidak dapat menggunakan referensi ke alias. Saat Anda mengubah referensi ke keystore, pastikan nama alias sertifikat sama seperti di keystore lama.
Batasan dalam menggunakan referensi ke keystore dan truststore
Anda harus mempertimbangkan batasan berikut saat menggunakan referensi ke keystore dan truststore:
- Anda hanya dapat menggunakan referensi keystore dan truststore di host virtual jika Anda mendukung SNI dan Anda menghentikan SSL di Apigee Router.
- Jika Anda memiliki load balancer di depan Apigee Router, dan Anda menghentikan TLS di load balancer, Anda tidak dapat menggunakan referensi keystore dan truststore di host virtual.
Membuat host virtual untuk TLS dua arah
Untuk mengaktifkan TLS dua arah, tetapkan elemen <ClientAuthEnabled> ke
true, dan tentukan truststore dengan
menggunakan referensi dengan elemen <TrustStore>. Truststore
menyimpan penerbit sertifikat klien dan rantai CA sertifikat, yang diperlukan. Klien
juga harus dikonfigurasi dengan benar untuk TLS dua arah.
Untuk membuat host virtual untuk TLS dua arah, buat objek XML yang menentukan host virtual host:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
<TrustStore>ref://myTestTruststoreRef</TrustStore>
</SSLInfo>
</VirtualHost>Dalam definisi ini, Anda:
- Mengaktifkan TLS dua arah dengan menetapkan
<ClientAuthEnabled>ke benar (true). - Menentukan referensi ke truststore menggunakan elemen
<TrustStore>. Truststore menyimpan penerbit sertifikat klien dan rantai CA sertifikat, yang diperlukan.
Lihat TLS/SSL untuk mengetahui informasi selengkapnya tentang penggunaan TLS.
Mengubah host virtual
Pelanggan Cloud dengan akun berbayar dan semua pelanggan Edge for Private Cloud dapat menggunakan Update a Virtual Host API untuk memperbarui host virtual. API ini memungkinkan Anda menetapkan semua properti untuk host virtual yang dijelaskan di Referensi properti host virtual.
Perbarui host virtual menggunakan Update a Virtual Host API. Saat menggunakan API, Anda harus menentukan definisi lengkap dari host virtual dalam isi permintaan, bukan hanya elemen yang ingin Anda ubah.
Dalam contoh ini, Anda menetapkan nilai properti proxy_read_timeout:
curl -X PUT -H "Content-Type:application/xml" \
https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \
-d '<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
<Properties>
<Property name="proxy_read_timeout">50</Property>
</Properties>
</VirtualHost>' \
-u orgAdminEmail:passwordMenghapus host virtual
Sebelum dapat menghapus host virtual dari lingkungan, Anda harus memperbarui proxy API yang mereferensikan host virtual untuk menghapus referensi. Lihat Mengonfigurasi proxy API untuk menggunakan host virtual.
Hapus host virtual menggunakan Delete a Virtual Host API:
curl -X DELETE \ https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \ -u orgAdminEmail:password
Melihat informasi tentang host virtual
Lihat informasi tentang host virtual yang ditentukan di lingkungan, seperti yang dijelaskan di bawah.
Edge
Untuk melihat informasi tentang host virtual menggunakan UI Edge:
- Login ke apigee.com/edge.
Pelanggan Edge for Private Cloud menggunakan
http://ms-ip:9000(lokal), dengan ms-ip adalah alamat IP atau nama DNS dari node Server Pengelolaan. - Pilih Admin > Virtual Hosts di menu navigasi sebelah kiri.
- Pilih lingkungan, seperti prod atau test.
Host virtual yang ditentukan untuk lingkungan akan muncul. Jika host virtual dikonfigurasi untuk menggunakan keystore atau truststore, klik Show untuk melihat informasi selengkapnya.
Jika host virtual dikonfigurasi untuk menggunakan TLS/SSL, ikon kunci akan muncul di samping nama host virtual. Artinya, sertifikat, kunci, dan rantai sertifikat TLS/SSL telah diupload ke Edge dan dikaitkan dengan host virtual. Untuk melihat informasi tentang sertifikat yang tersedia:
- Pilih Admin > Environment > TLS Keystores di menu navigasi sebelah kiri.
- Pilih Lingkungan (biasanya
prodatautest). - Luaskan keystore untuk melihat sertifikat.
Edge Klasik (Private Cloud)
Untuk melihat informasi tentang host virtual menggunakan UI Edge Klasik:
- Login ke
http://ms-ip:9000, dengan ms-ip adalah alamat IP atau nama DNS dari node Server Pengelolaan. - Pilih Admin > Virtual Hosts di menu navigasi sebelah kiri.
- Pilih lingkungan, seperti prod atau test.
- Klik tab Virtual Hosts.
Host virtual yang ditentukan untuk lingkungan akan muncul. Jika host virtual dikonfigurasi untuk menggunakan keystore atau truststore, klik Show untuk melihat informasi selengkapnya.

Jika host virtual dikonfigurasi untuk menggunakan TLS/SSL, ikon kunci akan muncul di samping nama host virtual. Artinya, sertifikat, kunci, dan rantai sertifikat TLS/SSL telah diupload ke Edge dan dikaitkan dengan host virtual. Untuk melihat informasi tentang sertifikat yang tersedia:
- Pilih Admin > TLS Certificates di menu navigasi atas.
- Pilih Lingkungan (biasanya
prodatautest). - Luaskan keystore untuk melihat sertifikat.
Melihat host virtual dengan Edge API
Anda juga dapat menggunakan Edge API untuk melihat informasi tentang host virtual. Misalnya, List Virtual Hosts API menampilkan daftar semua host virtual:
curl -X GET -H "accept:application/xml" \
https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts \
-u orgAdminEmail:pWordDengan orgAdminEmail:pWord adalah nama pengguna dan sandi admin organisasi, dan org_name/env_name menentukan organisasi dan lingkungan yang berisi host virtual. Contoh respons:
[ "default", "secure" ]
Untuk melihat informasi tentang host virtual tertentu, gunakan Get Virtual Host API:
curl -X GET -H "accept:application/xml" \
https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
-u orgAdminEmail:pWordDengan vhost_name adalah nama host virtual. Misalnya, Anda dapat menentukan vhost_name sebagai "secure" untuk melihat konfigurasi host virtual aman default yang dibuat oleh Apigee:
<VirtualHost name="secure">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<Properties/>
<Interfaces/>
<RetryOptions/>
<SSLInfo>
<ClientAuthEnabled>false</ClientAuthEnabled>
<Enabled>true</Enabled>
<KeyAlias>freetrial</KeyAlias>
<KeyStore>ref://freetrial</KeyStore>
<IgnoreValidationErrors>false</IgnoreValidationErrors>
</SSLInfo>
</VirtualHost>Mengonfigurasi proxy API untuk menggunakan host virtual
Saat Anda membuat proxy API baru, Edge akan otomatis mengonfigurasinya untuk menggunakan semua host virtual yang tersedia di organisasi. Permintaan ke proxy API melalui host virtual menggunakan formulir:
https://host-alias/proxy-base-path/resource-path
Dengan:
- host-alias biasanya adalah nama DNS host virtual.
- proxy-base-path ditentukan saat Anda membuat proxy API dan bersifat unik untuk setiap proxy API.
- resource-path adalah jalur ke resource yang dapat diakses melalui proxy API.
Mengontrol host virtual yang digunakan oleh proxy API
Dalam konfigurasi XML proxy API, Anda menggunakan tag virtualhost untuk menentukan
name host virtual yang terkait dengan proxy API:
<HTTPProxyConnection> <BasePath>/v1/my/proxy/basepath</BasePath> <VirtualHost>secure</VirtualHost> <VirtualHost>default</VirtualHost> </HTTPProxyConnection>
Misalnya, <VirtualHost>secure</VirtualHost> berarti
klien dapat memanggil proxy API menggunakan alias host dari host virtual "secure".
Biasanya, Anda mengubah host virtual yang terkait dengan proxy API saat:
- Anda membuat host virtual baru dan memiliki proxy API yang ada. Anda harus mengedit proxy API yang ada untuk menambahkan host virtual baru.
- Anda membuat proxy API baru yang tidak boleh diakses melalui host virtual tertentu. Anda harus mengedit proxy API untuk menghapus host virtual tersebut dari definisinya.
Untuk mengubah host virtual yang terkait dengan proxy API:
-
Akses editor proxy API, seperti yang dijelaskan di bawah.
Edge
Untuk mengakses editor proxy API menggunakan UI Edge:
- Login ke apigee.com/edge.
Pelanggan Edge for Private Cloud menggunakan
http://ms-ip:9000(lokal), dengan ms-ip adalah alamat IP atau nama DNS dari node Server Pengelolaan. - Pilih Develop > API proxies di menu navigasi sebelah kiri.
- Pilih proxy API yang ingin Anda edit dalam daftar.
Edge Klasik (Private Cloud)
Untuk mengakses editor proxy API menggunakan UI Edge Klasik:
- Login ke
http://ms-ip:9000, dengan ms-ip adalah alamat IP atau nama DNS dari node Server Pengelolaan. - Pilih APIs > API proxies di menu navigasi atas.
- Pilih proxy API yang ingin Anda edit dalam daftar.
- Login ke apigee.com/edge.
- Klik tab Develop.
- Di bagian Proxy Endpoints, pilih default.
- Di area kode:
- Hapus elemen
<VirtualHost>untuk host virtual yang tidak didukung oleh proxy API. - Tambahkan elemen
<VirtualHost>baru dengan nama host virtual baru. Misalnya, jika host virtual baru diberi nama MyVirtualHost, tambahkan tag berikut:
<HTTPProxyConnection> <BasePath>/v1/my/proxy/basepath</BasePath> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> <VirtualHost>MyVirtualHost</VirtualHost> </HTTPProxyConnection>
- Hapus elemen
- Simpan proxy API. Jika proxy API telah di-deploy, menyimpannya akan men-deploy ulang dengan setelan baru.
Menetapkan URL dasar yang ditampilkan oleh UI Edge untuk proxy API
UI Edge menampilkan URL proxy API berdasarkan setelan di host virtual yang sesuai dengan tempat proxy di-deploy. Tampilan ini dapat mencakup nomor port Router dari host virtual.
Dalam sebagian besar kasus, URL yang ditampilkan di UI Edge adalah URL yang benar untuk membuat permintaan eksternal ke proxy. Namun, untuk beberapa konfigurasi, URL yang ditampilkan tidak benar. Misalnya, salah satu konfigurasi berikut dapat menyebabkan URL yang ditampilkan tidak sesuai dengan URL sebenarnya yang digunakan untuk membuat permintaan eksternal ke proxy:
- Penghentian SSL terjadi di load balancer
- Pemetaan port terjadi antara load balancer dan Apigee Router
- Load balancer yang dikonfigurasi dengan penulisan ulang jalur
Edge mendukung atribut di host virtual yang disebut <BaseUrl> yang memungkinkan
Anda mengganti URL yang ditampilkan oleh UI Edge. Berikut adalah contoh yang menampilkan objek host virtual
dengan atribut <BaseUrl>.
Dalam contoh ini, nilai "http://myCo.com" muncul di UI Edge:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<BaseUrl>http://myCo.com</BaseUrl>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
</VirtualHost>Perhatikan bahwa nilai <BaseUrl> harus menyertakan protokol (yaitu, "http://" atau
"https://").
Jika <BaseUrl> tidak ditetapkan, URL default yang dirender oleh UI Edge akan
muncul sebagai: "api.myCompany.com", sedangkan alias host sebenarnya adalah "http://myCo.com".