Informazioni sugli host virtuali

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
di Gemini Advanced.

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
test predefinita {org-name}-test.apigee.net 80 No
sicuro {org-name}-test.apigee.net 443

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:

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: