Configurazione di un host virtuale

Un host virtuale su Edge definisce i domini e le porte del router Edge su cui è esposto un proxy API e, per estensione, l'URL che le app utilizzano per accedere a un proxy API. Un host virtuale definisce anche se si accede al proxy API utilizzando il protocollo HTTP o il protocollo HTTPS criptato.

Nell'ambito della procedura di onboarding di Edge, devi creare un'organizzazione, un ambiente e un host virtuale. Edge fornisce il comando setup-org per semplificare questa procedura per i nuovi utenti.

Quando crei l'host virtuale, devi specificare le seguenti informazioni:

  • Il nome dell'host virtuale che utilizzi per farvi riferimento nei proxy API
  • La porta del router per l'host virtuale. In genere, queste porte iniziano da 9001 e aumentano di uno per ogni nuovo host virtuale.
  • L'alias host dell'host virtuale. In genere, il nome DNS dell' host virtuale.

Ad esempio, in un file di configurazione passato al comando setup-org, puoi specificare queste informazioni come:

# Specify virtual host information
VHOST_PORT=9001
VHOST_NAME=default

# If you have a DNS entry for the virtual host
VHOST_ALIAS=myapis.apigee.net

Il router Edge confronta l'intestazione Host della richiesta in entrata con l'elenco degli alias host disponibili per determinare il proxy API che gestisce la richiesta. Quando effettui una richiesta tramite un host virtuale, specifica un nome di dominio che corrisponda all'alias host di un host virtuale oppure specifica l'indirizzo IP del router e l'intestazione Host contenente l'alias host.

Ad esempio, se hai creato un host virtuale con un alias host myapis.apigee.net sulla porta 9001, una richiesta cURL a un'API tramite quell'host virtuale potrebbe utilizzare uno dei seguenti formati:

  • Se hai una voce DNS per myapis.apigee.net:
    curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
  • Se non hai una voce DNS per myapis.apigee.net:
    curl http://routerIP:9001/proxy-base-path/resource-path -H 'Host: myapis.apigee.net'

    In questo modulo, specifichi l'indirizzo IP del router e passi l'alias host nell' Host intestazione.

Opzioni quando non hai una voce DNS per l'host virtuale

Un'opzione quando non hai una voce DNS è impostare l'alias host sull'indirizzo IP del router e sulla porta dell'host virtuale, come routerIP:port. Ad esempio:

VHOST_ALIAS=192.168.1.31:9001

Poi esegui un comando curl nel formato seguente:

curl http://routerIP:9001/proxy-base-path/resource-path

Questa opzione è preferibile perché funziona bene con la nuova UI di Edge.

Se hai più router, aggiungi un alias host per ogni router, specificando l'indirizzo IP di ogni router e la porta dell'host virtuale:

# Specify the IP and port of each router as a space-separated list enclosed in quotes:
# VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"

In alternativa, puoi impostare l'alias host su un valore, ad esempio temp.hostalias.com. Dopodiché, devi passare l'intestazione Host su ogni richiesta:

curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'host: temp.hostalias.com'

In alternativa, aggiungi l'alias host al file /etc/hosts. Ad esempio, aggiungi questa riga a /etc/hosts:

192.168.1.31   temp.hostalias.com

Poi puoi effettuare una richiesta come se avessi una voce DNS:

curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path