Anda sedang melihat dokumentasi Apigee Edge.
Lihat dokumentasi Apigee X.
Di Edge, Router menangani semua traffic API yang masuk. Artinya, semua permintaan HTTP dan HTTPS ke proxy API terlebih dahulu ditangani oleh Router Edge.
Host virtual memungkinkan Anda menghosting beberapa nama domain di server. Untuk Edge, server berkaitan dengan Router Edge. Dengan menentukan beberapa host virtual pada 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 host biasanya berupa nama domain DNS yang dipetakan ke alamat IP Router.
Misalnya, gambar berikut menampilkan 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
permintaan masuk dengan daftar alias host yang ditentukan oleh semua host virtual untuk menentukan host
virtual yang menangani permintaan.
Tentang definisi host virtual
Host virtual berisi informasi berikut:
- Nama host virtual internal. Anda menggunakan nama tersebut untuk mereferensikan host virtual dalam proxy API Anda dan saat mengonfigurasi host virtual.
- Alias host host virtual. Biasanya alias alias adalah nama domain DNS yang dipetakan ke alamat IP di Router. Header
Host
permintaan proxy API harus berisi alias host host virtual. - Port terbuka di Router.
- Apakah TLS (akses HTTPS) diaktifkan atau tidak (akses HTTP).
Misalnya, Anda menentukan informasi berikut saat membuat host virtual:
- name = hostsaya
- alias host = apis.acme.com
- port = 443
- TLS diaktifkan
Berdasarkan setelan di atas untuk host virtual, permintaan ke proxy API akan menggunakan bentuk berikut:
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 untuk 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 untuk 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, Anda menggunakan 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 tampilkan 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 ditetapkan ke nama domain tersebut. Hal ini memungkinkan developer mengakses API Anda melalui domain yang spesifik 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 Anda menyelesaikan proses penginstalan Edge, tindakan pertama Anda biasanya adalah membuat organisasi, lingkungan, dan host virtual melalui proses "aktivasi".
Untuk melakukan orientasi, jalankan perintah berikut di node Server Pengelolaan Edge:
/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 pilihan Anda untuk berfungsi sebagai administrator organisasi
- Organisasi bernama
example
- Lingkungan dalam organisasi bernama
prod
- Host virtual dalam lingkungan bernama
default
yang mengizinkan akses HTTP di port 9001 - Alias host untuk nama DNS yang digunakan untuk mengakses Router, atau alamat IP Router dan
port host virtual dalam bentuk
IP:9001
.
Anda nanti dapat menambahkan sejumlah organisasi, lingkungan, dan host virtual ke Edge versi lokal. 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 Anda menggunakan URL dalam format:
http://<router-ip>:9001/{proxy-base-path}/{resource-path}
Biasanya, Anda tidak memublikasikan API ke pelanggan dengan alamat IP dan nomor port. Namun, Anda dapat menentukan entri DNS untuk router dan port. 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. Dari contoh di atas, Anda akan menentukan alias host myAPI.myCo.com saat Anda membuat host virtual.
Tentang alias host dan nama DNS
Satu properti yang Anda tetapkan untuk host virtual adalah alias host. Alias host biasanya berupa nama DNS host virtual. Cara menyetel alias host bergantung pada jenis penginstalan Edge: Cloud atau Private Cloud.
Menghosting alias dan nama DNS di Edge untuk Cloud
Di Edge untuk Cloud, saat Anda pertama kali membuat organisasi Edge, Apigee akan 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 host virtual berisi nama organisasi dan lingkungan. Oleh karena itu, permintaan melalui host 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 sendiri.
Gambar berikut menunjukkan konfigurasi umum untuk 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 berisi header
Host
yang digunakan Router untuk menentukan host virtual yang menangani permintaan.
Dalam contoh ini, Anda menentukan informasi berikut dalam definisi host virtual:
- name = hostsaya
- alias host = apis.acme.com
- port = 443
- Mengaktifkan akses TLS
Lihat Mengonfigurasi host virtual untuk Cloud untuk informasi selengkapnya.
Nama host dan nama DNS di Edge untuk Private Cloud
Seperti Edge untuk Cloud, Anda membuat host virtual yang menggunakan nama domain Anda sendiri untuk alias host. Kemudian Anda membuat entri DNS dan data CNAME Anda sendiri untuk mengakses host virtual tersebut.
Salah satu perbedaan antara Cloud dan Private Cloud adalah bahwa di Cloud Apigee secara otomatis membuat nama DNS untuk organisasi Anda, dalam bentuk:
- name=default:
http://{org-name}-{env-name}.apigee.net
(Port router 80) - name=aman:
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 Anda.
Misalnya, Anda menentukan informasi ini dalam definisi host virtual:
- name = hostsaya
- alias host = apis.acme.com
- port = 9001
- Mengaktifkan akses TLS
Gambar berikut menunjukkan konfigurasi umum untuk 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 berisi header
Host
yang digunakan Router untuk menentukan host virtual yang menangani permintaan.
Lihat Mengonfigurasi host virtual untuk Private Cloud untuk informasi selengkapnya.
Alias host dan karakter pengganti
Anda dapat menyertakan karakter pengganti "*" di alias host. Karakter pengganti "*" hanya boleh berada di awal (sebelum ".") pertama pada 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 di alias host virtual memungkinkan
proxy API menangani panggilan yang ditujukan ke beberapa subdomain seperti
alpha.example.com
, beta.example.com
, atau
live.example.com
. Menggunakan alias karakter pengganti juga membantu Anda menggunakan lebih sedikit host
virtual per lingkungan agar tidak melebihi batas
produk, karena host virtual dengan host pengganti hanya dihitung sebagai satu host virtual.
Sertifikat TLS untuk host virtual harus memiliki karakter pengganti yang cocok dengan nama CN sertifikat.
Misalnya, *.example.com
.
Tentang properti host virtual
Di Edge, host virtual diwakili 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 tetapkan 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 mengenai semua properti host virtual, lihat Referensi properti host virtual.
Guna mengetahui informasi selengkapnya tentang cara membuat host virtual untuk versi Edge tertentu, lihat: