Topik ini membahas konfigurasi host virtual. Host virtual memungkinkan Apigee hybrid menangani permintaan API ke beberapa nama domain dan merutekan jalur dasar proxy ke lingkungan tertentu.
Untuk menentukan jalur dasar proxy API khusus lingkungan yang harus dirutekan, gunakan properti konfigurasi virtualhosts.routingRules[]. Untuk mengetahui detail tentang setiap properti, lihat virtualhosts dalam referensi Properti konfigurasi. Contoh:
...
virtualhosts:
- name: vhost-one
hostAliases: ["api.example.com"]
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
routingRules:
- paths:
- /orders
- /items
env: test1
- paths:
- /customers
env: test2
envs:
- name: test1
serviceAccountPaths:
synchronizer: ./sa/synchronizer.json
udca: ./sa/udca.json
- name: test2
serviceAccountPaths:
synchronizer: ./sa/synchronizer.json
udca: ./sa/udca.json
Saat panggilan API masuk seperti: https://api.example.com/orders, permintaan
akan dikirim ke pemroses pesan lingkungan test1. Demikian pula, jika permintaan ke
https://api.example.com/customers masuk, permintaan tersebut akan dirutekan ke lingkungan
test2.
Menambahkan lingkungan baru
Untuk menambahkan lingkungan baru, tambahkan konfigurasinya ke properti envs[], dan
tambahkan entri virtualhosts.routingRules.path baru yang menentukan jalur dasar yang ingin Anda
petakan ke lingkungan baru. Dalam contoh berikut, lingkungan baru bernama
test3 ditambahkan, dan routingRules telah diperbarui untuk
merutekan dua jalur ke lingkungan baru:
virtualhosts:
- name: vhost-one
hostAliases: ["api.example.com"]
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
routingRules:
- paths:
- /orders
- /items
env: test1
- paths:
- /v0/hello
- /httpbin
env: test2
- paths:
- /v0/inventory
- /v0/customers
env: test3
envs:
- name: test1
serviceAccountPaths:
synchronizer: ./sa/synchronizer.json
udca: ./sa/udca.json
- name: test2
serviceAccountPaths:
synchronizer: ./sa/synchronizer.json
udca: ./sa/udca.json
- name: test3
serviceAccountPaths:
synchronizer: ./sa/synchronizer.json
udca: ./sa/udca.json
Untuk menerapkan update, Anda hanya perlu menerapkan komponen runtime, sebagai berikut:
apigeectl apply -f overrides-file.yaml -c runtime
Menambahkan beberapa host virtual
Properti virtualhosts[] adalah array, sehingga Anda dapat membuat lebih dari satu. Setiap host virtual harus berisi kumpulan alias host yang unik: tidak ada dua host virtual
yang dapat menggunakan alias host yang sama. Misalnya, host virtual baru dev menangani
traffic yang dikirim ke domain api.internal.com.
virtualhosts:
- name: vhost-one
hostAliases: ["api.example.com"]
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
routingRules:
- paths:
- /orders
- /items
env: test1
- paths:
- /v0/hello
- /httpbin
env: test2
- paths:
- /v0/inventory
- /v0/customers
env: test3
- name: vhost-two
hostAliases: ["api.internal.com"]
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.pem
routingRules:
- paths:
- /orders
- /items
env: test1
- paths:
- /v0/hello
- /httpbin
env: test2
- paths:
- /v0/inventory
- /v0/customers
env: test3
envs:
- name: test1
serviceAccountPaths:
synchronizer: ./sa/synchronizer.json
udca: ./sa/udca.json
- name: test2
serviceAccountPaths:
synchronizer: ./sa/synchronizer.json
udca: ./sa/udca.json
- name: test3
serviceAccountPaths:
synchronizer: ./sa/synchronizer.json
udca: ./sa/udca.json
Untuk menerapkan update, Anda hanya perlu menerapkan komponen runtime, sebagai berikut:
apigeectl apply -f overrides-file.yaml -c runtime
Kunci dan sertifikat TLS
Saat membuat host virtual baru, Anda harus memberikan kunci dan sertifikat TLS. Kunci/sertifikat digunakan untuk menyediakan komunikasi yang aman dengan gateway masuk.
Anda dapat memilih cara membuat pasangan kunci/sertifikat TLS yang sesuai untuk konfigurasi campuran. Topik berikut hanya diberikan sebagai contoh, yang terutama ditujukan untuk mencoba atau menguji penginstalan campuran baru jika tidak memungkinkan untuk mendapatkan kredensial TLS dengan cara lain:
- Lihat Mendapatkan kredensial TLS untuk mengetahui kumpulan contoh langkah-langkah membuat pasangan kunci/sertifikat TLS yang diotorisasi.
- Anda dapat menggunakan sertifikat/pasangan kunci yang ditandatangani sendiri hanya untuk tujuan pengujian. Lihat Membuat kredensial TLS yang ditandatangani sendiri.