Configurazione degli host virtuali

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Un cliente Cloud con un account a pagamento e tutti i clienti Edge for Private Cloud possono creare un host virtuale in un'organizzazione. L'utente la creazione dell'host virtuale deve essere nel ruolo di amministratore dell'organizzazione o in una un ruolo personalizzato con le autorizzazioni per modificare un host virtuale. Gli utenti con altri ruoli non hanno per creare host virtuali.

Guarda un video introduttivo agli organizzatori virtuali.

Creazione di un host virtuale

Utilizza la seguente procedura di base per creare l'host virtuale. La procedura effettiva che utilizzi varia a seconda che tu sia un cliente Cloud o Private Cloud, e se stai abilitando TLS:

  1. Crea una voce DNS e un record CNAME per il tuo dominio visibile al pubblico.
  2. Se attivi TLS sull'host virtuale:
    1. Crea e configura un archivio chiavi utilizzando la procedura descritta di seguito: Keystore e truststore.
    2. Carica il certificato e la chiave nell'archivio chiavi. Assicurati che il nome di dominio specificato corrisponda all'alias host che vuoi utilizzare per l'host virtuale.
    3. Crea un riferimento all'archivio chiavi utilizzando l'API o la UI Edge. Il riferimento specifica come nome dell'archivio chiavi e tipo di riferimento KeyStore. Consulta Utilizzo dei riferimenti per di più sulla creazione e sulla modifica dei riferimenti.
    4. Se esegui TLS a due vie, crea un archivio attendibilità, carica il certificato e creerai un riferimento al truststore. Crea il truststore utilizzando la procedura descritta qui: Keystores e Truststore.
  3. Crea l'host virtuale utilizzando Crea un l'API Virtual Host. Se abiliti TLS, assicurati di specificare il riferimento dell'archivio chiavi corretto, riferimento all'archivio attendibilità e alias della chiave.
  4. Se esistono proxy API, aggiungi l'host virtuale al ProxyEndpoint. L'host virtuale viene aggiunto automaticamente a tutti i nuovi proxy API. Consulta Configurazione di un proxy API per l'utilizzo di un host virtuale.

Dopo aver aggiornato un proxy API per l'utilizzo dell'host virtuale e aver creato la voce DNS e il record CNAME per l'alias host, puoi accedere al proxy API come illustrato di seguito:

https://api.myCompany.com/v1/project-base-path/resource-path

Ad esempio:

https://api.myCompany.com/v1/weather/forecastrss?w=12797282

Creazione di un host virtuale utilizzando l'API o la UI

Puoi creare un host virtuale utilizzando l'API Edge o la UI Edge.

La maggior parte degli esempi riportati di seguito utilizza l'API Edge. Per accedere all'interfaccia utente per creare, modificare ed eliminare host virtuali nell'interfaccia utente Edge:

  1. Accedi a apigee.com/edge

    I clienti Edge per il cloud privato usano http://ms-ip:9000 (on-premise), dove ms-ip è Indirizzo IP o nome DNS del nodo del server di gestione.

  2. Seleziona Amministratore > Host virtuali nella barra di navigazione a sinistra.
  3. Seleziona l'ambiente, ad esempio prod o test.
    Lo strumento virtuale vengono visualizzati gli host definiti per l'ambiente.
  4. Seleziona + Host virtuale per creare un host virtuale o seleziona il nome di un host virtuale esistente per modificarlo.

Creazione di un host virtuale per HTTP

I clienti di Edge per il cloud privato possono creare un host virtuale utilizzando HTTP.

Per creare un host virtuale che non supporta TLS, crea un oggetto XML che definisca il parametro l'host virtuale. Ad esempio, il seguente oggetto XML definisce un host virtuale che utilizza il protocollo protocollo:

<VirtualHost name="myVHost">
   <HostAliases>
     <HostAlias>api.myCompany.com</HostAlias>
   </HostAliases>
   <Interfaces/>
   <Port>80</Port>
</VirtualHost>

In questa definizione:

  • Specifica come nome myVHost. Utilizza il nome come riferimento l'host virtuale in un proxy API o in una chiamata API.
  • Specifica l'alias host come api.myCompany.com. Questo è il dominio visibile al pubblico utilizzato per accedere alle API come definito da una definizione DNS e da CNAME record.
  • Specifica il numero di porta su 80. Se omesso, per impostazione predefinita la porta è impostata su 443.
  • Nell'host virtuale puoi impostare altre proprietà. Per un riferimento per tutte le proprietà, consulta Informazioni sulle proprietà host virtuali.

Se disponi di proxy API, aggiungi l'host virtuale all'elemento <HTTPConnection> nel proxy endpoint. L'host virtuale viene aggiunto automaticamente a tutti i nuovi proxy API. Consulta Configurazione di un proxy API per l'utilizzo di un host virtuale. Se crei un nuovo proxy API che non deve essere accessibile tramite un determinato host virtuale, è necessario modificare il proxy API per rimuovere l'host virtuale dal relativo ProxyEndpoint.

Potrai quindi accedere a un proxy API attraverso questo host virtuale effettuando una richiesta a:

http://api.myCompany.com/proxy-base-path/resource-path
https://api.myCompany.com/proxy-base-path/resource-path

Crea l'host virtuale utilizzando Crea un API Virtual Host:

curl -X POST -H "Content-Type:application/xml" \
  http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
  -d '<VirtualHost name="myVHost">
        <HostAliases>
            <HostAlias>api.myCompany.com</HostAlias>
        </HostAliases>
        <Interfaces/>
        <Port>80</Port>
    </VirtualHost>' \
  -u sysAdminEmail:password

Creazione di un host virtuale per TLS unidirezionale

Il seguente oggetto XML definisce un host virtuale per TLS unidirezionale:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <KeyStore>ref://myTestKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
    </SSLInfo>
</VirtualHost>

In questa definizione attivi TLS impostando l'elemento <Enable> su true e utilizza gli elementi <KeyStore> e <KeyAliase> per specificare l'archivio chiavi e l'alias della chiave utilizzati dalla connessione TLS.

Fai riferimento a TLS/SSL per ulteriori informazioni informazioni sull'utilizzo di TLS.

Scelta della modalità di specifica del nome dell'archivio chiavi e dell'archivio di attendibilità nell'host virtuale

Quando configuri un host virtuale per il supporto di TLS, devi specificare un archivio chiavi utilizzando una riferimento. Un riferimento è una variabile che contiene il nome dell'archivio chiavi o truststore, anziché specificare direttamente il nome dell'archivio chiavi o dell'archivio chiavi, come illustrato di seguito:

    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <KeyStore>ref://myTestKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
    </SSLInfo>

Il vantaggio di usare un riferimento è che puoi modificarne il valore per cambiare all'archivio chiavi utilizzato dall'host virtuale, di solito perché il certificato nell'archivio chiavi attuale è in scadenza nel prossimo futuro. La modifica del valore del riferimento non richiede il riavvio il router Edge. Consulta l'articolo Utilizzo dei riferimenti per di più sulla creazione e sulla modifica dei riferimenti.

Puoi utilizzare solo un riferimento all'archivio chiavi e all'archivio chiavi. non puoi utilizzare un riferimento alias. Quando modifichi il riferimento a un archivio chiavi, assicurati che il nome alias del certificato sia il come nel vecchio archivio chiavi.

Restrizioni nell'utilizzo dei riferimenti ad archivi chiavi e archivi attendibili

Quando utilizzi i riferimenti agli archivi chiavi, devi tenere in considerazione le restrizioni riportate di seguito. archivi attendibili:

  • Puoi usare i riferimenti di archivi chiavi e archivi attendibili negli host virtuali solo se supporti SNI e si termina il protocollo SSL sui router Apigee.
  • Se hai un bilanciatore del carico davanti ai router Apigee e interrompi TLS sul non puoi usare i riferimenti di un archivio chiavi e un archivio attendibilità negli host virtuali.

Creazione di un host virtuale per TLS bidirezionale

Per attivare il TLS bidirezionale, imposta l'elemento <ClientAuthEnabled> su true e specifica un archivio attendibilità utilizzando un riferimento con l'elemento <TrustStore>. Truststore contiene l'emittente del certificato del client e la catena CA del certificato (obbligatorio). Il cliente deve inoltre essere configurato correttamente per il protocollo TLS bidirezionale.

Per creare un host virtuale per TLS a due vie, crea un oggetto XML che definisca il host:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <KeyStore>ref://myTestKeystoreRef</KeyStore>
        <KeyAlias>myKeyAlias</KeyAlias>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
</VirtualHost>

In questa definizione:

  • Attiva il TLS bidirezionale impostando <ClientAuthEnabled> su true.
  • Specifica il riferimento all'archivio attendibilità utilizzando l'elemento <TrustStore>. Truststore contiene l'emittente del certificato del client e la catena CA del certificato (obbligatorio).

Fai riferimento a TLS/SSL per ulteriori informazioni informazioni sull'utilizzo di TLS.

Modifica di un host virtuale

Un cliente Cloud con un account a pagamento e tutti i clienti Edge per il cloud privato possono utilizzare Aggiorna un'API Virtual Host per aggiornare un host virtuale. Questa API consente di impostare tutte le per l'host virtuale descritto in Riferimento alle proprietà dell'host virtuale.

Aggiorna l'host virtuale utilizzando Aggiorna un'API Virtual Host. Quando si utilizza l'API, è necessario specificare la definizione completa l'host virtuale nel corpo della richiesta, non solo gli elementi da modificare.

In questo esempio, imposti il valore della proprietà proxy_read_timeout:

curl -X PUT -H "Content-Type:application/xml" \
    https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \
    -d '<VirtualHost  name="myTLSVHost">
         <HostAliases>
           <HostAlias>api.myCompany.com</HostAlias>
         </HostAliases>
         <Port>443</Port>
         <SSLInfo>
           <Enabled>true</Enabled>
           <ClientAuthEnabled>false</ClientAuthEnabled>
           <KeyStore>ref://myTestKeystoreRef</KeyStore>
           <KeyAlias>myKeyAlias</KeyAlias>
         </SSLInfo>
         <Properties>
           <Property name="proxy_read_timeout">50</Property>
         </Properties>
     </VirtualHost>' \
    -u orgAdminEmail:password

Eliminazione di un host virtuale

Prima di poter eliminare un host virtuale da un ambiente, devi aggiornare i proxy API che riferimento all'host virtuale per rimuovere il riferimento. Consulta Configurazione di un proxy API per l'utilizzo di un principale.

Elimina l'host virtuale utilizzando Elimina un'API Virtual Host:

curl -X DELETE \
  https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \
  -u orgAdminEmail:password

Visualizzazione delle informazioni su un host virtuale

Visualizza le informazioni sugli host virtuali definiti in un ambiente, come descritto di seguito.

Edge

Per visualizzare le informazioni su un host virtuale utilizzando la UI Edge:

  1. Accedi a apigee.com/edge.

    I clienti Edge per il cloud privato usano http://ms-ip:9000 (on-premise), dove ms-ip è Indirizzo IP o nome DNS del nodo del server di gestione.

  2. Seleziona Amministratore > Host virtuali nella barra di navigazione a sinistra.
  3. Seleziona l'ambiente, ad esempio prod o test.

    Lo strumento virtuale vengono visualizzati gli host definiti per l'ambiente. Se l'host virtuale è configurato per usare un archivio chiavi o un archivio attendibilità, Fai clic su Mostra per visualizzare ulteriori informazioni.

Se l'host virtuale è configurato per l'utilizzo di TLS/SSL, viene visualizzata un'icona lucchetto accanto al nome del l'host virtuale. Ciò significa che un certificato TLS/SSL, una chiave e una catena di certificati sono stati caricati su perimetrale e associato all'host virtuale. Per visualizzare le informazioni sui modelli certificati:

  1. Seleziona Amministratore > Ambiente > Archivi chiavi TLS nella barra di navigazione a sinistra.
  2. Seleziona l'ambiente (in genere prod o test).
  3. Espandi gli archivi chiavi per visualizzare il certificato.

Perimetrale classico (Private Cloud)

Per visualizzare le informazioni su un host virtuale utilizzando la UI di Edge classica:

  1. Accedi a http://ms-ip:9000, dove ms-ip è Indirizzo IP o nome DNS del nodo del server di gestione.
  2. Seleziona Amministratore > Host virtuali nella barra di navigazione a sinistra.
  3. Seleziona l'ambiente, ad esempio prod o test.
  4. Fai clic sulla scheda Host virtuali.

    Lo strumento virtuale vengono visualizzati gli host definiti per l'ambiente. Se l'host virtuale è configurato per usare un archivio chiavi o un archivio attendibilità, Fai clic su Mostra per visualizzare ulteriori informazioni.

    La scheda Host virtuali mostra le informazioni sul nome, sulla porta
                 alias e altro ancora.

Se l'host virtuale è configurato per l'utilizzo di TLS/SSL, viene visualizzata un'icona lucchetto accanto al nome del l'host virtuale. Ciò significa che un certificato TLS/SSL, una chiave e una catena di certificati sono stati caricati su perimetrale e associato all'host virtuale. Per visualizzare le informazioni sui modelli certificati:

  1. Seleziona Amministratore > Certificati TLS nella barra di navigazione in alto.
  2. Seleziona l'ambiente (in genere prod o test).
  3. Espandi gli archivi chiavi per visualizzare il certificato.

Visualizzazione un host virtuale con l'API Edge

Puoi anche utilizzare le API Edge per visualizzare informazioni sugli host virtuali. Per ad esempio, la colonna Lista virtuale L'API Hosts restituisce un elenco di tutti gli host virtuali:

curl -X GET -H "accept:application/xml" \
    https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts \
    -u orgAdminEmail:pWord

Dove orgAdminEmail:pWord sono il nome utente e la password dell'amministratore dell'organizzazione e org_name/env_name specificano dell'organizzazione e dell'ambiente contenente l'host virtuale. Esempio di risposta:

[
 "default",
 "secure"
]

Per visualizzare informazioni su un host virtuale specifico, utilizza Scarica l'API Virtual Host:

curl -X GET -H "accept:application/xml" \
    https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
    -u orgAdminEmail:pWord

Dove vhost_name è il nome l'host virtuale. Ad esempio, puoi specificare vhost_name come "protetto" a vedi la configurazione dell'host virtuale sicuro predefinito creato da Apigee:

<VirtualHost name="secure">
    <HostAliases>
        <HostAlias>api.myCompany.com</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <Properties/>
    <Interfaces/>
    <RetryOptions/>
    <SSLInfo>
        <ClientAuthEnabled>false</ClientAuthEnabled>
        <Enabled>true</Enabled>
        <KeyAlias>freetrial</KeyAlias>
        <KeyStore>ref://freetrial</KeyStore>
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

Configurazione di un proxy API per l'utilizzo di un organizzatore

Quando crei un nuovo proxy API, Edge lo configura automaticamente per utilizzare tutte le host dell'organizzazione. Una richiesta a un proxy API attraverso un host virtuale utilizza il modulo:

https://host-alias/proxy-base-path/resource-path

Dove:

  • host-alias è in genere il nome DNS dell'host virtuale.
  • Il valore proxy-base-path viene definito quando crei un proxy API ed è univoco per ogni proxy API.
  • resource-path il percorso di una risorsa accessibile tramite il proxy API.

Controllo degli host virtuali utilizzati da un proxy API

Nella configurazione XML di un proxy API, utilizzi il tag virtualhost per specificare il valore nome dell'host virtuale associato al proxy API:

<HTTPProxyConnection>
  <BasePath>/v1/my/proxy/basepath</BasePath>
  <VirtualHost>secure</VirtualHost>
  <VirtualHost>default</VirtualHost>
</HTTPProxyConnection>

Ad esempio, <VirtualHost>secure</VirtualHost> significa un client può chiamare il proxy API utilizzando l'alias host del dominio l'host virtuale.

In genere, si modificano gli host virtuali associati a un proxy API quando:

  • Crei un nuovo host virtuale e disponi di proxy API. Devi modificare le API esistenti per aggiungere il nuovo host virtuale.
  • Crei un nuovo proxy API che non deve essere accessibile tramite un determinato host virtuale. Devi modificare il proxy API per rimuovere l'host virtuale dalla sua definizione.

Per modificare gli host virtuali associati a un proxy API:

  1. Accedi all'editor proxy API, come descritto di seguito.

    Edge

    Per accedere all'editor proxy API utilizzando l'interfaccia utente Edge:

    1. Accedi a apigee.com/edge.

      I clienti Edge per il cloud privato usano http://ms-ip:9000 (on-premise), dove ms-ip è Indirizzo IP o nome DNS del nodo del server di gestione.

    2. Seleziona Sviluppo > Proxy API nella barra di navigazione a sinistra.
    3. Seleziona nell'elenco il proxy API che vuoi modificare.

    Perimetrale classico (Private Cloud)

    Per accedere all'editor proxy API utilizzando l'interfaccia utente classica di Edge:

    1. Accedi a http://ms-ip:9000, dove ms-ip è Indirizzo IP o nome DNS del nodo del server di gestione.
    2. Seleziona API > Proxy API nella barra di navigazione in alto.
    3. Seleziona nell'elenco il proxy API che vuoi modificare.
  2. Fai clic sulla scheda Sviluppo.
  3. In Proxy Endpoints, seleziona default.
  4. Nell'area del codice:
    1. Rimuovi tutti gli elementi <VirtualHost> per host virtuali non supportati dal proxy API.
    2. Aggiungi un nuovo elemento <VirtualHost> con il nome del nuovo host virtuale. Ad esempio, se il nuovo host virtuale è denominato MyVirtualHost, aggiungi il seguente tag:
      <HTTPProxyConnection>
        <BasePath>/v1/my/proxy/basepath</BasePath>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
        <VirtualHost>MyVirtualHost</VirtualHost>
      </HTTPProxyConnection>
  5. Salva il proxy API. Se è stato eseguito il deployment del proxy API, quando viene salvato viene eseguito nuovamente il deployment con il nuovo dell'ambientazione.

Impostando l'URL di base visualizzato dal UI perimetrale per un proxy API

La UI Edge mostra l'URL di un proxy API in base alle impostazioni nell'host virtuale corrispondente a dove viene eseguito il deployment del proxy. Questo display può includere il numero di porta del router l'host virtuale.

Nella maggior parte dei casi, l'URL visualizzato nella UI di Edge è quello corretto per rendere esterne richieste al proxy. Tuttavia, per alcune configurazioni, l'URL visualizzato non è corretto. Per Ad esempio, una qualsiasi delle seguenti configurazioni può far sì che l'URL visualizzato non corrispondono all'URL effettivo utilizzato per effettuare richieste esterne al proxy:

  • La terminazione SSL avviene su un bilanciatore del carico
  • La mappatura delle porte avviene tra un bilanciatore del carico e i router Apigee
  • Un bilanciatore del carico configurato con riscrittura del percorso

Edge supporta un attributo sull'host virtuale chiamato <BaseUrl> che consente puoi sostituire l'URL visualizzato dalla UI Edge. Ecco un esempio che mostra l'oggetto host virtuale con l'attributo <BaseUrl>. In questo esempio, il valore "http://myCo.com" viene visualizzato nell'interfaccia utente di Edge:

<VirtualHost name="myTLSVHost">
  <HostAliases>
    <HostAlias>api.myCompany.com</HostAlias>
  </HostAliases>
  <BaseUrl>http://myCo.com</BaseUrl>
  <Port>443</Port>
  <SSLInfo>
    <Enabled>true</Enabled>
    <ClientAuthEnabled>false</ClientAuthEnabled>
    <KeyStore>ref://myTestKeystoreRef</KeyStore>
    <KeyAlias>myKeyAlias</KeyAlias>
  </SSLInfo>
</VirtualHost>

Tieni presente che il valore di <BaseUrl> deve includere il protocollo (ad es. "http://" o "https://").

Se il criterio <BaseUrl> non è impostato, l'URL predefinito sottoposto a rendering dalla UI Edge verrà appare come: "api.myCompany.com", mentre l'alias host effettivo è "http://myCo.com".