Configurazione di un host virtuale

Edge per Private Cloud v4.18.01

Un host virtuale su Edge definisce i domini e le porte del router perimetrale 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 inoltre se è possibile accedere al proxy API utilizzando il protocollo HTTP o il protocollo HTTPS criptato.

Nell'ambito del processo di onboarding di Edge, devi creare un'organizzazione, un ambiente e un host virtuale. Edge fornisce il comando setup-org per semplificare questo processo 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 sul router per l'host virtuale. In genere queste porte iniziano da 9001 e si incrementano di una 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 perimetrale confronta l'intestazione Host della richiesta in entrata con l'elenco degli alias host disponibili nell'ambito della determinazione del 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 di myapis.apigee.net sulla porta 9001, una richiesta cURL a un'API tramite questo 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 disponi di una voce DNS per myapis.apigee.net:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H 'Host: myapis.apigee.net'

    In questo modulo devi specificare l'indirizzo IP del router e passare l'alias dell'host nella pagina Host

    Nota: il comando cURL, la maggior parte dei browser e molte altre utilità aggiungono automaticamente l'intestazione Host con il dominio come parte della richiesta, in modo da poter utilizzare un comando cURL nel formato:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

Opzioni disponibili quando non è disponibile una voce DNS per l'host virtuale

Se non disponi di una voce DNS, puoi impostare l'alias host sull'indirizzo IP del router e della porta dell'host virtuale, ad esempio <routerIP>:port. Ad esempio:

VHOST_ALIAS=192.168.1.31:9001

Quindi esegui un comando curl nel seguente formato:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

Questa opzione è preferibile perché funziona bene con l'UI Edge.

Se disponi di più router, aggiungi un alias host per ciascun 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 un valore per l'alias host, ad esempio temp.hostalias.com. Successivamente, devi passare l'intestazione Host a 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}