Mengonfigurasi host virtual

Topik ini membahas konfigurasi {i>host<i} virtual. Dengan host virtual, Apigee Hybrid dapat menangani Permintaan API ke beberapa nama domain dan merutekan basepath proxy ke lingkungan tertentu.

Untuk menetapkan ke lingkungan mana jalur dasar proxy API spesifik yang harus dirutekan, gunakan Properti konfigurasi virtualhosts.routingRules[]. Untuk mengetahui detail tentang properti individual, lihat virtualhost 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 dikirim ke pemroses pesan lingkungan test1. Demikian pula, jika permintaan untuk https://api.example.com/customers masuk, lalu dirutekan ke test2 lingkungan fleksibel App Engine.

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 dipetakan ke lingkungan baru. Pada contoh berikut, lingkungan baru bernama test3 ditambahkan, dan routingRules telah diperbarui menjadi 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 {i>host<i} virtual

Properti virtualhosts[] adalah array, dan karena itu Anda dapat membuat lebih dari satu. Setiap {i>host<i} virtual harus berisi sekumpulan alias {i>host<i} yang unik: tidak boleh ada dua {i>host<i} virtual dapat berbagi alias {i>host<i} yang sama. Misalnya, dev host virtual baru 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 menyediakan komunikasi yang aman dengan gateway masuk.

Anda dapat menentukan cara membuat pasangan sertifikat/kunci TLS yang tepat untuk hybrid Anda konfigurasi Anda. Topik berikut hanya disediakan sebagai contoh, yang terutama ditujukan untuk mencoba atau menguji instalasi hibrida baru jika tidak layak untuk mendapatkan kredensial TLS dengan cara lain: