Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
In Edge, un router gestisce tutto il traffico API in entrata. Ciò significa che tutte le connessioni HTTP e HTTPS a un proxy API vengono prima gestite da un router Edge.
Un host virtuale consente di ospitare più nomi di dominio su un server. Per Edge, il server corrisponde a un router Edge. Se definisci più host virtuali su un router, il router può gestire le richieste API a più nomi di dominio.
Un host virtuale su Edge definisce il protocollo di accesso (HTTP o HTTPS), una porta del router aperta e un host alias. L'alias host è in genere il nome di dominio DNS che viene mappato all'indirizzo IP del router.
Ad esempio, la seguente immagine mostra un router con due definizioni di host virtuali:
Il primo host virtuale gestisce le richieste HTTPS il dominio domainName1 e il secondo gestisce le richieste HTTP su domainName2.
Su una richiesta a un proxy API, il router confronta l'intestazione Host
della richiesta in entrata con
elenco di alias host definiti da tutti gli host virtuali per determinare quale
l'host gestisce la richiesta.
Informazioni sulle definizioni di host virtuale
Gli host virtuali contengono le seguenti informazioni:
- Il nome interno dell'host virtuale. che puoi usare per fare riferimento all'istanza nei proxy API e durante la configurazione dell'host virtuale.
- L'alias host dell'host virtuale. In genere l'alias host è il DNS
nome di dominio associato all'indirizzo IP sul router. L'intestazione
Host
di un Le richieste proxy API devono contenere l'alias host dell'host virtuale. - Una porta aperta sul router.
- Indica se TLS (accesso HTTPS) è abilitato o meno (accesso HTTP).
Ad esempio, specifichi le seguenti informazioni quando crei un host virtuale:
- nome = myvhost
- alias host = apis.acme.com
- porta = 443
- TLS abilitato
In base all'impostazione precedente per l'host virtuale, una richiesta a un proxy API utilizza il modulo:
https://apis.acme.com/{proxy-base-path}/{resource-path}
dove:
- {proxy-base-path} viene definito quando crei un proxy API ed è univoco per ogni proxy API.
Ad esempio:
https://apis.acme.com/characters
- {resource-path} il percorso di una risorsa accessibile tramite il proxy API. Ad esempio:
https://apis.acme.com/characters/coyote https://apis.acme.com/characters/roadrunner
Informazioni sugli host virtuali in Edge per il cloud
Ogni organizzazione Edge include automaticamente due ambienti (test
e prod
), due host virtuali in ogni ambiente (predefinito e sicuro),
e DNS per ogni alias host.
L'alias host di ogni host virtuale fornito da Apigee contiene il nome dell'organizzazione e ambiente, come illustrato nella seguente tabella:
Ambiente | Nome host virtuale | Alias host | Porta | TLS abilitato |
---|---|---|---|---|
produzione | predefinita | {org-name}-prod.apigee.net |
80 | No |
sicuro | {org-name}-prod.apigee.net |
443 | Sì | |
test | predefinita | {org-name}-test.apigee.net |
80 | No |
sicuro | {org-name}-test.apigee.net |
443 | Sì |
Ad esempio, il nome di dominio predefinito di un'organizzazione chiamata "myorg
"
nell'ambiente prod
è "myorg-prod.apigee.net
".
Pertanto, per accedere a un proxy API nell'organizzazione, utilizzerai un URL nel formato:
http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path} https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
Piani a pagamento Apigee: un nome di dominio contenente "apigee.net" potrebbe non essere ciò che si vuole esporre clienti. Puoi utilizzare una voce DNS e un record CNAME per mappare un nome di dominio della tua organizzazione su Edge. Devi anche creare un host virtuale con l'alias host impostato nome di dominio. Questo consente agli sviluppatori di accedere alla tua API tramite un dominio specifico per la tua azienda.
Ecco un esempio di dominio personalizzato in Edge:
https://apis.acme.com/{proxy-base-path}/{resource-path}
Informazioni sugli host virtuali su Edge per Private Cloud
Quando installi Apigee Edge per il cloud privato, non sono presenti organizzazioni predefinite, o host virtuali creati per te. Dopo aver completato il processo di installazione di Edge, La prima azione è in genere quella di creare un'organizzazione, un ambiente e un host virtuale l'onboarding e il processo di sviluppo.
Per eseguire l'onboarding, esegui questo comando sul nodo Edge Management Server:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
dove configFile contiene le informazioni necessarie per creare un utente, organizzazione, ambiente e host virtuale.
Ad esempio, crei:
- Un utente di tua scelta che ricopri il ruolo di amministratore dell'organizzazione.
- Un'organizzazione chiamata
example
- Un ambiente nell'organizzazione denominato
prod
- Un host virtuale nell'ambiente denominato
default
che consente l'accesso HTTP sulla porta 9001 - Un alias host del nome DNS utilizzato per accedere al router o l'indirizzo IP del router e
dell'host virtuale nel formato
IP:9001
.
In un secondo momento potrai aggiungere al tuo account un numero illimitato di organizzazioni, ambienti e host virtuali la versione on-premise di Edge. Per ulteriori informazioni, vedi:
- La configurazione di un'istanza padrone di casa
- Creazione di un Organizzazione, ambiente e host virtuale
Gli host virtuali vengono aperti sul router Edge. Devi quindi assicurarti che la porta specificato per l'host virtuale sia aperto sul router. Puoi utilizzare un comando nel modulo seguente per aprire una porta:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose
Dopo aver eseguito il comando, puoi accedere alle API utilizzando un URL nel formato:
http://<router-ip>:9001/{proxy-base-path}/{resource-path}
In genere, non pubblichi le API per i clienti con un indirizzo IP e numero di porta. ma definisci una voce DNS per il router e la porta. Ad esempio:
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}
Quando definisci la voce DNS, devi anche creare un host virtuale con un alias host che corrisponde al nome di dominio della voce DNS. Nell'esempio precedente, specificheresti un alias host di myAPI.myCo.com quando crei l'host virtuale.
Informazioni sugli alias host e sui nomi DNS
Una proprietà che imposti per un host virtuale è l'alias host. L'alias host è di solito il nome DNS dell'host virtuale. La modalità di impostazione dell'alias host dipende dal tipo di Installazione perimetrale: cloud o cloud privato.
Alias host e Nomi DNS in Edge per il cloud
In Edge per il cloud, quando crei per la prima volta un'organizzazione Edge, Apigee automaticamente
crea due ambienti (test
e prod
), due host virtuali
ogni ambiente (default e secure) e i record DNS per ogni
l'host virtuale.
L'alias host degli host virtuali contiene il nome dell'organizzazione e dell'ambiente. Pertanto, una richiesta tramite un host virtuale ha il seguente formato:
http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
In genere è opportuno creare host virtuali che utilizzino il tuo nome di dominio, anziché utilizzare
dominio apigee.net
predefinito. Da fare
pertanto devi prima creare la tua voce DNS e il tuo record CNAME.
La figura seguente mostra una configurazione tipica del modo in cui Edge elabora una richiesta API:
In questo esempio:
- api.acme.com è il nome di dominio desiderato.
- Devi definire una voce DNS e un record CNAME che rimandi ad api.acme.com verso acme-prod.apigee.net.
- La richiesta contiene l'intestazione
Host
che il router utilizza per determinare l'host virtuale che gestisce la richiesta.
In questo esempio, specifichi le seguenti informazioni in una definizione di host virtuale:
- nome = myvhost
- alias host = apis.acme.com
- porta = 443
- Abilita accesso TLS
Per ulteriori informazioni, consulta Configurazione di host virtuali per il cloud.
Alias host e nomi DNS in Edge per Private Cloud
Come per Edge per il cloud, puoi creare host virtuali che utilizzano il tuo nome di dominio per l'host alias. Per accedere a questi host virtuali, potrai quindi creare la tua voce DNS e il tuo record CNAME.
Una delle differenze tra cloud e cloud privato è che in Apigee i nomi DNS creati automaticamente per le tue organizzazioni, nel formato:
- name=default:
http://{org-name}-{env-name}.apigee.net
(Porta router 80) - name=secure:
https://{org-name}-{env-name}.apigee.net
(Porta router 443)
In Edge per il cloud privato, devi creare le voci DNS per l'indirizzo IP e la porta del router.
Ad esempio, specifichi queste informazioni in una definizione di host virtuale:
- nome = myvhost
- alias host = apis.acme.com
- porta = 9001
- Abilita accesso TLS
La figura seguente mostra una configurazione tipica del modo in cui Edge elabora una richiesta API:
In questo esempio:
- api.acme.com è il nome di dominio desiderato.
- Devi definire una voce DNS e un record CNAME che rimandino ad api.acme.com all'IP l'indirizzo email e la porta del router.
- La richiesta contiene l'intestazione
Host
che il router utilizza per determinare l'host virtuale che gestisce la richiesta.
Per ulteriori informazioni, consulta Configurazione di host virtuali per il cloud privato.
Alias e caratteri jolly
Puoi includere l'asterisco (*) carattere jolly nell'alias host. Il simbolo "*" il carattere jolly può essere solo all'inizio (precedendo il primo ".") dell'alias host e non può essere unito ad altri caratteri.
Di seguito è riportato un esempio di un alias host valido che utilizza un carattere jolly:
*.example.com
I seguenti esempi non sono validi:
www.*.example.com w*.example.com
L'utilizzo di un carattere jolly in un alias di host virtuale consente
I proxy API gestiscono le chiamate indirizzate a più sottodomini come
alpha.example.com
, beta.example.com
o
live.example.com
. L'utilizzo di un alias con caratteri jolly contribuisce anche a ridurre
host per ambiente per rimanere entro il prodotto
limiti, poiché un host virtuale con un carattere jolly viene conteggiato come un solo host virtuale.
Il certificato TLS per l'host virtuale deve avere un carattere jolly corrispondente nel nome della rete connessa in questione.
Ad esempio, *.example.com
.
Informazioni sulle proprietà degli host virtuali
In Edge, un host virtuale è rappresentato da un oggetto XML. Ad esempio, seguente oggetto XML definisce un host virtuale:
<VirtualHost name="vhostName"> <HostAliases> <HostAlias>hostAlias</HostAlias> </HostAliases> <Interfaces> <!-- Private Cloud only --> <Interface>interfaceName</Interface> <Port>portNumber</Port> <BaseURL>http://myCo.com<</BaseUrl> <OCSPStapling>off</OCSPStapling> <RetryOptions/> <SSLInfo> <Enabled>trueFalse</Enabled> <ClientAuthEnabled>trueFalse</ClientAuthEnabled> <KeyStore>ref://keystoreRef</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://truststoreRef</TrustStore> <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors> </SSLInfo> <Properties> <Property name="proxy_read_timeout">timeout</Property> <Property name="keepalive_timeout">timeout</Property> <Property name="proxy_request_buffering">onOff</Property> <Property name="proxy_buffering">onOff</Property> <Property name="ssl_protocols">protocolList</Property> <Property name="ssl_ciphers">cipherList</Property> </Properties> </VirtualHost>
L'elenco di proprietà che puoi impostare varia a seconda che tu stia utilizzando o meno Edge per il cloud o Edge per il cloud privato. Se utilizzi Edge per il cloud privato, l'elenco dipendono anche dalla versione di Edge. Per una descrizione completa di tutte le proprietà di un host virtuale, vedi Informazioni sulle proprietà host virtuali.
Per ulteriori informazioni sulla creazione di host virtuali per la tua versione specifica di Edge, consulta: