Edge for Private Cloud v4.18.05
Un host virtuale su Edge definisce i domini e le porte del router Edge su cui viene utilizzato un proxy API esposto e, di conseguenza, l'URL utilizzato dalle app per accedere a un proxy API. Un host virtuale definisce se si accede al proxy API mediante il protocollo HTTP o il protocollo HTTPS criptato protocollo.
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
semplifica l'operazione per i nuovi utenti.
Quando crei l'host virtuale, devi specificare le seguenti informazioni:
- Il nome dell'host virtuale che utilizzi per farvi riferimento nell'API proxy.
- La porta sul router per l'host virtuale. Di solito queste porte iniziano da 9001 e incrementano di uno per ogni nuovo host virtuale.
- L'alias host dell'host virtuale. In genere il nome DNS l'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 di bordo confronta l'intestazione Host
della richiesta in arrivo 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 corrispondente 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 di myapis.apigee.net sulla porta 9001, una richiesta cURL a un'API attraverso l'host virtuale potrebbe utilizzare uno dei seguenti moduli:
- 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, specifica l'indirizzo IP del router e passa l'alias dell'host nell'intestazione
Host
.
Opzioni disponibili quando non disponi di un DNS voce 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
Quindi, esegui un comando curl nel formato seguente:
curl http://routerIP:9001/proxy-base-path/resource-path
Questa opzione è preferita perché funziona bene con la UI Edge.
Se hai più router, aggiungi un alias host per ogni router, specificando l'indirizzo IP di ciascun 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
.
Quindi, devi passare l'intestazione Host
per 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
Quindi puoi effettuare una richiesta come se avessi una voce DNS:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path