Configura host virtuali

Questo argomento illustra la configurazione dell'host virtuale. Gli host virtuali consentono ad Apigee hybrid di gestire Richieste API a più nomi di dominio e routing dei percorsi di base dei proxy ad ambienti specifici.

Per specificare a quali percorsi di base dei proxy API specifici dell'ambiente devono essere instradati, utilizza la Proprietà di configurazione virtualhosts.routingRules[]. Per maggiori dettagli sul le singole proprietà, vedi virtualhosts nel riferimento della proprietà di configurazione. Ad esempio:

...

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

Quando arriva una chiamata API, come: https://api.example.com/orders, la richiesta viene inviato al processore di messaggi dell'ambiente test1. Analogamente, se una richiesta https://api.example.com/customers in arrivo, è indirizzato a test2 completamente gestito di Google Cloud.

Aggiunta di un nuovo ambiente

Per aggiungere un nuovo ambiente, aggiungi la relativa configurazione alla proprietà envs[] e aggiungi una nuova voce virtualhosts.routingRules.path che specifichi i percorsi di base vuoi mappare al nuovo ambiente. Nell'esempio seguente, un nuovo ambiente denominato test3 è stato aggiunto e routingRules è stato aggiornato a eseguire il routing di due percorsi verso il nuovo ambiente:

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

Per applicare l'aggiornamento, devi applicare solo il componente runtime, come descritto di seguito:

apigeectl apply -f overrides-file.yaml -c runtime

Aggiunta di più host virtuali

La proprietà virtualhosts[] è un array, quindi puoi creare più di uno. Ogni host virtuale deve contenere un insieme univoco di alias host: non esistono due host virtuali possono condividere lo stesso alias host. Ad esempio, il nuovo host virtuale dev gestisce traffico inviato al dominio 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

Per applicare l'aggiornamento, devi applicare solo il componente runtime, come descritto di seguito:

apigeectl apply -f overrides-file.yaml -c runtime

Chiavi e certificati TLS

Quando crei un nuovo host virtuale, devi fornire una chiave TLS e un certificato. La chiave o il certificato vengono utilizzati per fornire una comunicazione sicura con il gateway in entrata.

Spetta a te generare le coppie di certificati/chiavi TLS appropriate per il tuo modello configurazione. I seguenti argomenti vengono forniti solo a titolo di esempio, pensati principalmente per provare o testare una nuova installazione ibrida se non è possibile ottenere Credenziali TLS in un altro modo: