Mengonfigurasi host virtual

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: