Topik ini membahas konfigurasi {i>host<i} virtual. Host virtual memungkinkan Apigee Hybrid menangani permintaan API ke beberapa nama domain dan merutekan dasar jalur proxy ke lingkungan tertentu.
Untuk menentukan jalur dasar proxy API spesifik per lingkungan mana yang harus dirutekan, gunakan properti konfigurasi virtualhosts.routingRules[]
. Untuk detail tentang masing-masing properti, lihat virtualhost di 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 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 mana yang ingin Anda petakan ke lingkungan baru. Pada contoh berikut, lingkungan baru bernama test3
ditambahkan, dan routingRules
telah diupdate untuk mengarahkan 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
, seperti berikut:
apigeectl apply -f overrides-file.yaml -c runtime
Menambahkan beberapa host virtual
Properti virtualhosts[]
adalah array, sehingga Anda dapat membuat lebih dari
satu properti. Setiap host virtual harus berisi sekumpulan alias host yang unik: dua host virtual tidak 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
, seperti 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 memberikan komunikasi yang aman dengan gateway masuk.
Anda dapat menentukan cara membuat pasangan kunci/sertifikat TLS yang tepat untuk konfigurasi hybrid. Topik berikut disediakan hanya sebagai contoh, terutama yang ditujukan untuk mencoba atau menguji penginstalan campuran baru jika tidak memungkinkan untuk mendapatkan kredensial TLS dengan cara lain:
- Lihat Mendapatkan kredensial TLS untuk mengetahui contoh langkah membuat pasangan kunci/sertifikat TLS yang diotorisasi.
- Anda dapat menggunakan pasangan kunci/sertifikat yang ditandatangani sendiri hanya untuk tujuan pengujian. Lihat Membuat kredensial TLS yang ditandatangani sendiri.