Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Dengan penginstalan lokal, Anda memiliki kontrol penuh atas host virtual. Anda dapat membuat {i>host<i} virtual untuk organisasi apa pun, di lingkungan mana pun, menggunakan TLS atau tidak.
Dokumen ini menjelaskan cara membuat host virtual sederhana. Yaitu, salah satu kasus yang tidak mendukung TLS. Untuk contoh lainnya, termasuk contoh tentang membuat {i> host<i} virtual yang mendukung TLS, lihat Mengonfigurasi TLS akses ke API untuk Private Cloud.
Pelajari lebih lanjut:
- Tentang host virtual
- Mengonfigurasi host virtual
- Mengonfigurasi TLS
- Keystore dan Truststores
- Mengonfigurasi TLS akses ke API untuk Private Cloud
Tentang alias host
Saat membuat host virtual, Anda harus menentukan alias host dari host virtual tersebut. Biasanya ini adalah nama DNS dari {i>host<i} 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 {i>host<i} virtual, tentukan nama domain yang cocok dengan {i>host<i}
alias dari host virtual, atau tentukan alamat IP Router dan header Host
yang berisi alias host.
Misalnya, jika Anda membuat {i> host<i} virtual dengan alias {i>host<i} dari myapis.apigee.net di port 9001, lalu permintaan cURL ke API melalui {i>host<i} virtual itu 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 {i>Router<i}, dan meneruskan alias {i>host<i} di Header
Host
.curl http://routerIP:9001/proxy-base-path/resource-path
Opsi saat Anda melakukannya tidak memiliki entri DNS untuk {i>host<i} virtual
Salah satu pilihan ketika Anda tidak memiliki entri DNS adalah dengan mengatur alias {i>host<i} ke alamat IP Router dan port host virtual, sebagai routerIP:port. Contoh:
192.168.1.31:9001
Saat Anda membuat perintah curl
dalam formulir di bawah:
curl http://routerIP:9001/proxy-base-path/resource-path
Opsi ini lebih disukai karena berfungsi dengan baik dengan UI Edge.
Jika Anda memiliki beberapa {i>Router<i}, tambahkan alias host untuk setiap {i>Router<i}, yang menentukan alamat IP setiap {i>Router<i} dan porta dari {i>host<i} 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 Anda. 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 Private Cloud 4.16.01 dan yang lebih baru
Saat membuat host virtual, Anda menentukan port Router yang digunakan oleh host virtual. Sebagai misalnya, port 9001.
Untuk Apigee for Private Cloud rilis 4.16.01 dan yang lebih baru, secara default Router berjalan sebagai pengguna "apigee" yang tidak memiliki akses ke porta yang dilindungi, biasanya porta 1024 dan yang lebih rendah. Jika Anda ingin membuat {i>host<i} virtual yang mengikat {i> Router<i} ke porta yang dilindungi maka Anda harus mengkonfigurasi {i>Router<i} untuk dijalankan sebagai pengguna yang memiliki akses ke porta tersebut. Lihat Menyiapkan host virtual untuk mengetahui informasi selengkapnya.
Membuat host virtual
Bagian ini menjelaskan cara membuat host virtual untuk Apigee Edge untuk Private Cloud. Perhatikan bahwa untuk membuat {i>host<i} virtual, Anda harus menjadi administrator organisasi.
Anda dapat membuat host virtual untuk Apigee Edge untuk Private Cloud menggunakan API atau UI Edge. Berikut adalah yang dijelaskan di bagian berikut.
Membuat host virtual menggunakan browser
Bagian ini menjelaskan cara membuat host virtual menggunakan browser (khusus UI Edge).
Untuk membuat host virtual baru di UI Edge:
- Login ke UI pengelolaan Edge.
- Pilih Admin > Host Virtual.
Pilih lingkungan dari menu drop-down.
Edge menampilkan daftar host virtual untuk lingkungan tersebut.
- Untuk membuat host virtual baru, pilih + Host Virtual.
Edge menampilkan formulir Create Virtual Host.
Anda juga dapat mengklik nama host virtual yang ada untuk mengeditnya.
- Tentukan host virtual baru Anda. Perhatikan bahwa kolom URL Dasar harus menyertakan kolom
(yaitu, awali nilai kolom dengan "http://" atau "https://".)
Selain itu, perhatikan bahwa:
- Tidak ada batasan jumlah host virtual yang dapat Anda buat
- TLS bersifat opsional, dan bisa berupa versi 1.0, 1.1, atau 1.2
- Port host virtual dapat dikonfigurasi
- Klik tombol Create untuk menyimpan host virtual baru.
Membuat host virtual dengan API
Untuk membuat host virtual dengan API, buat objek XML yang mendefinisikan {i>host<i} virtual. Misalnya, objek XML berikut mendefinisikan {i>host<i} virtual yang menggunakan permintaan protokol:
<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
name
untuk mengonfigurasi proxy API agar menggunakan host virtual.
Selanjutnya, Anda dapat mengakses proxy API melalui host virtual ini dengan membuat permintaan untuk:
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path
Dengan keterangan:
http
atauhttps
: 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 virtual host.
- proxy-base-path dan resource-path ditentukan saat Anda membuat Proxy API.
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://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
Jika 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 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:
- Buat {i>host<i} virtual dengan menggunakan
Buat
Virtual Host API, dengan ms-IP
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
- Buat data DNS untuk host virtual yang cocok dengan alias host.
- Jika Anda sudah memiliki proxy API, 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 memodifikasi host virtual, lakukan hal berikut:
-
Perbarui {i>host<i} virtual dengan menggunakan Mengupdate Virtual Host API, dengan
<ms-IP>
sebagai alamat IP atau nama domain dari node Server Pengelolaan. Anda harus menentukan definisi lengkap dari {i>host<i} virtual dalam isi permintaan, bukan hanya elemen yang ingin Anda ubah. Di sini misalnya, Anda mengubah nomor port {i>host<i} 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
-
Khusus Edge for Private Cloud versi 4.16.01 dan 4.16.05, jika Anda memodifikasi
{i>host<i} virtual yang ada, dan Anda dapat mengaktifkan
TLS atau menonaktifkan TLS tanpa mengubah porta
angka, lalu:
Hentikan Router:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
Hapus semua file di
/opt/nginx/conf.d
:rm -f /opt/nginx/conf.d/*
Mulai Router:
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- Ulangi untuk semua {i>Router<i}.