Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di
Apigee X. informazioni
In un'installazione on-premise, hai il controllo completo sugli host virtuali. Puoi creare host virtuali per qualsiasi organizzazione, in qualsiasi ambiente, con o senza TLS.
Questo documento descrive come creare un host virtuale semplice. ovvero una che non supporta TLS. Per altri esempi, tra cui la creazione di host virtuali che supportano TLS, consulta Configurare l'accesso TLS a un'API per il private cloud.
Scopri di più:
- Informazioni sugli host virtuali
- Configurare gli host virtuali
- Configurazione di TLS
- Keystore e archivi attendibili
- Configurazione dell'accesso TLS a un'API per il private cloud
Informazioni sugli alias host
Quando crei l'host virtuale, devi specificare l'alias dell'host virtuale. In genere si tratta del nome DNS dell'host virtuale.
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 dell'host di un host virtuale oppure specifica l'indirizzo IP del router e l'intestazione Host
contenente l'alias dell'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 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 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
.curl http://routerIP:9001/proxy-base-path/resource-path
Opzioni se 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:
192.168.1.31:9001
Quando crei un comando curl
nel seguente modulo:
curl http://routerIP:9001/proxy-base-path/resource-path
Questa opzione è preferita perché funziona bene con l'interfaccia utente di 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.
In alternativa, puoi impostare l'alias host su un valore, ad esempio temp.hostalias.com. Poi, 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
Poi puoi effettuare una richiesta come se avessi una voce DNS:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path
Informazioni sulle porte degli host virtuali su Edge per Private Cloud 4.16.01 e versioni successive
Quando crei un host virtuale, specifica la porta del router utilizzata dall'host virtuale. Ad esempio, la porta 9001.
Per Apigee per il cloud privato release 4.16.01 e successive, per impostazione predefinita, il router funziona come l'utente "apigee", che non ha accesso alle porte con privilegi, in genere le porte 1024 e precedenti. Se vuoi creare un host virtuale che leghi il router a una porta protetta, devi configurare il router in modo che venga eseguito come utente con accesso a queste porte. Per saperne di più, consulta Configurare un host virtuale.
Creare host virtuali
Questa sezione descrive come creare host virtuali per Apigee Edge for Private Cloud. Tieni presente che per creare un nuovo host virtuale, devi essere un amministratore dell'organizzazione.
Puoi creare host virtuali per Apigee Edge for Private Cloud utilizzando l'API o l'interfaccia utente di Edge. Questi sono descritti nelle sezioni seguenti.
Creare un host virtuale utilizzando un browser
Questa sezione descrive come creare un host virtuale utilizzando un browser (solo interfaccia utente di Edge).
Per creare un nuovo host virtuale nell'interfaccia utente di Edge:
- Accedi all'interfaccia utente di gestione di Edge.
- Seleziona Amministrazione > Host virtuali.
Seleziona l'ambiente dall'elenco a discesa.
Edge mostra un elenco di host virtuali per l'ambiente.
- Per creare un nuovo host virtuale, seleziona + Host virtuale.
Edge mostra il modulo Crea host virtuale.
Puoi anche fare clic sul nome di un host virtuale esistente per modificarlo.
- Definisci il nuovo host virtuale. Tieni presente che il campo URL base deve includere il
protocollo (ovvero il valore del campo deve essere preceduto da "http://" o "https://").
Inoltre, tieni presente che:
- Non esiste un limite al numero di host virtuali che puoi creare
- TLS è facoltativo e può essere nella versione 1.0, 1.1 o 1.2
- La porta dell'host virtuale è configurabile
- Fai clic sul pulsante Crea per salvare il nuovo host virtuale.
Creare un host virtuale con l'API
Per creare un host virtuale con l'API, crea un oggetto XML che definisca l'host virtuale. Ad esempio, il seguente oggetto XML definisce un host virtuale che utilizza il protocollo HTTP:
<VirtualHost name="myVHost"> <HostAliases> <HostAlias>DNS_name_or_IP:port</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>
Tieni presente che l'host virtuale contiene una proprietà name
. Utilizza il valore della proprietà name
per configurare un proxy API in modo che utilizzi l'host virtuale.
Puoi quindi accedere a un proxy API tramite questo host virtuale inviando una richiesta a:
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path
Dove:
http
ohttps
: se l'host virtuale è configurato per supportare TLS, utilizza HTTPS. Se l'host virtuale non supporta TLS, utilizza HTTP.- routerIP:port è l'indirizzo IP e il numero di porta dell'host virtuale.
- proxy-base-path e resource-path sono definiti quando crei il proxy API.
In genere, le API non vengono pubblicate per i clienti con un indirizzo IP e un numero di porta. Devi invece definire una voce DNS per il router e la porta. Ad esempio:
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
Se definisci la voce DNS, devi creare un alias host per l'host virtuale
che corrisponda al nome di dominio della voce DNS. L'alias host deve corrispondere alla stringa passata dal cliente nell'intestazione Host
.
Nell'esempio precedente, devi specificare un alias host di api.myCompany.com
.
<VirtualHost name="myVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>
Per creare un host virtuale che utilizza il protocollo HTTP:
- Crea l'host virtuale utilizzando l'API Crea un host virtuale, dove ms-IP è l'indirizzo IP o il nome di dominio del nodo del server di gestione:
$ curl -X POST -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>' \ -u sysAdminEmail:password
- Crea il record DNS per l'host virtuale corrispondente all'alias host.
- Se hai proxy API esistenti, aggiungi l'host virtuale all'elemento
<HTTPConnection>
nell'endpoint proxy. L'host virtuale viene aggiunto automaticamente a tutti i nuovi proxy API. Consulta Configurare un proxy API per l'utilizzo di un host virtuale.
Modifica di un host virtuale
Per modificare un host virtuale:
-
Aggiorna l'host virtuale utilizzando l'API Aggiorna un host virtuale, dove
<ms-IP>
è l'indirizzo IP o il nome di dominio del nodo del server di gestione. Devi specificare la definizione completa dell'host virtuale nel corpo della richiesta, non solo gli elementi da modificare. In questo esempio, modifichi il numero di porta dell'host virtuale da 9008 a 9009:curl -X PUT -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9009</Port> </VirtualHost>' \ -u email:password
-
Solo per Edge per il cloud privato versioni 4.16.01 e 4.16.05, se modifichi un host virtuale esistente e attivi TLS o disabiliti TLS senza modificare il numero di porta:
Arresta il router:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
Elimina tutti i file in
/opt/nginx/conf.d
:rm -f /opt/nginx/conf.d/*
Avvia il router:
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- Ripeti l'operazione per tutti i router.