Configurazione degli host virtuali per il cloud

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

Un cliente Cloud con un account a pagamento può creare un host virtuale in un'organizzazione.

Scopri di più:

Chi può creare e modificare nel cloud

La creazione e la modifica di host virtuali sono disponibili solo per gli account a pagamento solo in Edge Cloud. L'utente che crea l'host virtuale deve essere nel ruolo di amministratore dell'organizzazione o in un un ruolo personalizzato con le autorizzazioni per modificare un host virtuale. Gli utenti con altri ruoli non hanno per creare host virtuali.

Ad esempio, i clienti paganti possono:

  • Attiva TLS unidirezionale e bidirezionale
  • Specifica l'archivio chiavi/truststore utilizzato dall'host virtuale

Gli account senza costi e di prova non possono creare o modificare gli host virtuali e sono limitati agli host virtuali al momento della registrazione Edge. Per ulteriori informazioni sui piani tariffari Edge, vedi https://apigee.com/api-management/#/pricing.

Requisiti per la configurazione di un host virtuale per il cloud

La tabella seguente riassume i requisiti per la creazione di un host virtuale:

Categoria Requisito Descrizione
Tipo di account A pagamento Gli account senza costi e di prova non possono creare o modificare host virtuali.
Ruolo utente amministratore dell'organizzazione Solo un amministratore dell'organizzazione può creare un host virtuale oppure un utente con un ruolo personalizzato con autorizzazioni per modificare un host virtuale.
Numero di host virtuali Massimo 20

Esiste un limite massimo di 20 host virtuali per organizzazione/ambiente nel cloud.

Nota: non esiste alcun limite al numero di host virtuali nella configurazione Google Cloud.

La maggior parte delle organizzazioni e degli ambienti utilizza due host virtuali: uno per HTTP e uno per HTTPS l'accesso. Potrebbero essere necessari altri host virtuali se la tua organizzazione o il tuo ambiente lo consente utilizzando nomi di dominio diversi.

URL di base Include il protocollo Quando definisci l'URL di base per l'host virtuale, nella UI o con l'API, Devi specificare il protocollo (vale a dire "http://" o "https://") come parte dell'URL.
Porta 443

Puoi creare un host virtuale solo sulla porta 443.

Tieni presente che puoi creare più host virtuali sulla porta 443, purché abbiano alias host univoci e tutti supportano TLS.

TLS Obbligatorio

Puoi creare solo un host virtuale che supporti TLS su HTTPS. Devi avere già ha creato un archivio chiavi e, facoltativamente, un archivio attendibilità contenente il certificato e la chiave TLS.

Devi avere un certificato firmato da un'entità attendibile, come Symantec o VeriSign. Non puoi utilizzare un certificato autofirmato.

Se hai bisogno dell'accesso HTTP, contatta l'assistenza Apigee Edge.

Protocollo TLS TLS 1.2

Edge nel cloud supporta solo TLS versione 1.2.

Alias host Univoco nell'organizzazione e nell'ambiente L'alias host non esiste per un'altra combinazione organizzazione/ambiente.
Nome di dominio Di proprietà del cliente

Devi essere il proprietario del nome di dominio specificato nell'host virtuale. Controlli periferici per verificare che il nome di dominio, come definito dall'alias host, corrisponda ai metadati nella certificato.

In particolare, Edge controlla le seguenti informazioni nel certificato:

  • CN - Nome comune
  • SAN - Nome alternativo del soggetto

I caratteri jolly sono consentiti nella SAN o nel CN, ad esempio *.myco.net.

Edge verifica inoltre che il certificato non sia scaduto.

Supporto SNI dell'app client Tutte le app client che accedono all'host virtuale devono supportare SNI.

Il supporto SNI è richiesto da tutte le app.

Crea un host virtuale utilizzando un browser

La maggior parte degli esempi in questa sezione utilizza l'API Edge per creare o modificare host virtuali, ma puoi creare un host virtuale nella UI di Edge.

Per creare un host virtuale utilizzando la UI Edge:

  1. Accedi a apigee.com/edge.
  2. Seleziona Amministratore > Host virtuali.
  3. Seleziona l'ambiente, ad esempio prod o test.
  4. Seleziona + Host virtuale per creare un host virtuale o seleziona il nome di un host virtuale esistente per modificarlo.
  5. Per informazioni dettagliate su come compilare i campi dell'host virtuale, consulta la tabella riportata sopra.

Definizione di un host virtuale per TLS unidirezionale

Un oggetto XML che definisce l'host virtuale. Ad esempio, 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:

  • Specifica il nome come myTLSVHost. 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 come 443. Se omesso, per impostazione predefinita la porta è impostata su 443.
  • Abilita TLS come richiesto.

    L'elemento <Enable> è impostato su true per abilitare TLS unidirezionale e gli elementi <KeyStore> specificano un archivio chiavi e un alias di chiave usati dalla connessione TLS.

    Per abilitare il protocollo TLS bidirezionale, imposta <ClientAuthEnabled> su true e specificare un archivio attendibilità utilizzando l'elemento <TrustStore>. Truststore contiene l'emittente del certificato del client e la catena CA del certificato (obbligatorio).

    Nota: poiché Edge in origine supportava SSL, il tag che utilizzi per configurare Il protocollo TLS è denominato <SSLInfo>.

Tieni presente che esistono proprietà aggiuntive che puoi impostare nell'host virtuale. Per un per tutte le proprietà, consulta Informazioni di riferimento sulle proprietà host virtuali.

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.

Definizione 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).

Definizione di un host virtuale che utilizza il certificato e la chiave di prova senza costi Apigee

Se disponi di un account Edge a pagamento per Cloud e non disponi ancora di un certificato e di una chiave TLS, puoi creare un host virtuale che utilizza il certificato e la chiave di prova senza costi di Apigee. Ciò significa che puoi creare l'host virtuale senza prima creare un archivio chiavi.

Il certificato di prova senza costi Apigee è definito per un dominio di *.apigee.net. Pertanto, Anche <HostAlias> dell'host virtuale deve essere nel formato *.apigee.net.

Se utilizzi il protocollo TLS bidirezionale, devi comunque impostare l'elemento <ClientAuthEnabled> su true e specifica un archivio attendibilità utilizzando un riferimento con l'elemento <TrustStore> come descritto sopra in Definire un host virtuale per TLS bidirezionale.

Un oggetto XML che definisce l'host virtuale utilizzando il certificato di prova senza costi e la chiave Apigee omette la <KeyStore> e <KeyAlias> e li sostituisce con <UseBuiltInFreeTrialCert> elemento, come mostrato di seguito:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Il valore predefinito dell'elemento <UseBuiltInFreeTrialCert> è false.

Per TLS a due vie, definisci l'host virtuale come:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>true</ClientAuthEnabled>
        <TrustStore>ref://myTestTruststoreRef</TrustStore>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

Nella UI Edge, seleziona l'opzione Utilizza il certificato di prova senza costi integrato durante la creazione dell'host virtuale per utilizzare il certificato e la chiave Apigee senza costi:

Seleziona Utilizza il certificato di prova senza costi integrato

Creazione di un host virtuale

Utilizza la seguente procedura per creare l'host virtuale:

  1. Crea una voce DNS e un record CNAME per il dominio pubblico, api.myCompany.com per questo esempio, che rimanda a [org]-[environment].apigee.net.
  2. Crea e configura un archivio chiavi, denominato myTestKeystore in questo esempio, mediante utilizzando la procedura descritta qui: Creazione di archivi chiavi e archivi attendibili mediante la UI Edge. Per questo esempio, Assicurati che l'archivio chiavi utilizzi il nome alias myKeyAlias per il certificato e chiave privata.
  3. 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.
  4. 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 l'articolo Utilizzo dei riferimenti per di più sulla creazione e sulla modifica dei riferimenti.

  5. Crea l'host virtuale utilizzando il pulsante Crea un l'API Virtual Host. Assicurati di specificare il riferimento dell'archivio chiavi e l'alias della chiave corretti. Per utilizzare l'API, usa la seguente chiamata API POST per creare l'archivio chiavi denominato myTLSVHost:
    curl -X POST -H "Content-Type:application/xml" \
      https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts \
      -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>
      </VirtualHost>' \
      -u orgAdminEmail:password

    Se esegui il protocollo TLS bidirezionale con il client, imposta <ClientAuthEnabled> su true e specificare il truststore tramite l'elemento <TrustStore>. Il cliente deve essere configurato correttamente per TLS a due vie, vale a dire che Edge ha un archivio attendibilità l'emittente del certificato e la catena dei certificati del client. Crea il truststore utilizzando la procedura descritta qui: Creazione di archivi chiavi e archivi attendibili mediante l'interfaccia utente Edge.

  6. Se disponi di proxy API, aggiungi l'host virtuale all'elemento <HTTPConnection> della ProxyEndpoint. L'host virtuale viene aggiunto automaticamente a tutti i nuovi proxy API. Vedi 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

Modifica di un host virtuale

I clienti Cloud a pagamento eseguono due attività principali per modificare un host virtuale esistente:

  1. Modifica del valore di un riferimento a un archivio chiavi o un archivio attendibilità.

    Nota: una volta impostato un <KeyStore> o <TrustStore> per utilizzare un riferimento, puoi modificarne il valore in qualsiasi momento. Se però vuoi modificare <KeyStore> o <TrustStore> per utilizzare un riferimento diverso o modificare <KeyAlias> per utilizzare un alias diverso, devi contattare l'assistenza Apigee Edge.
  2. Modifica delle proprietà TLS dell'host virtuale.

Modificando il valore di un parametro riferimento

Puoi modificare il valore di un riferimento per cambiare l'archivio chiavi o l'archivio chiavi utilizzato da un .

Prima di modificare il valore del riferimento:

  1. Crea un nuovo archivio chiavi e carica un certificato e una chiave come descritto in Creazione di archivi chiavi e archivi attendibili mediante l'interfaccia utente Edge. Nel nuovo archivio chiavi, assicurati di utilizzare per l'alias della chiave lo stesso nome usato nella chiave esistente .
  2. Se necessario, crea un nuovo archivio attendibilità e carica un certificato come descritto in Creazione di archivi chiavi e archivi attendibili mediante l'interfaccia utente Edge.
  3. Modifica il riferimento come descritto in Utilizzo dei riferimenti.

La modifica delle proprietà TLS host virtuale

I clienti paganti possono utilizzare Aggiorna un'API Virtual Host per aggiornare un host virtuale. Questa API consente di impostare tutte le per l'host virtuale descritto Informazioni sulle proprietà host virtuali.

Quando modifichi l'host virtuale, Edge esegue una convalida simile a quando crei l'host virtuale. Vale a dire, in caso di modifica, Edge verifica che:

  • Il dominio specificato dall'alias host non viene utilizzato in un'altra organizzazione e completamente gestito di Google Cloud.
  • Sei il proprietario del nome di dominio. In particolare, Edge controlla che le seguenti informazioni corrisponde all'alias host:
    • CN - Nome comune
    • SAN - Nome alternativo del soggetto
    • Edge verifica che il certificato non sia scaduto.

Per modificare un host virtuale utilizzando l'API Edge, segui questi passaggi:

  1. 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 Ad 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

La modifica di un host virtuale per utilizzare i riferimenti all'archivio chiavi e all'archivio chiavi

Tutti i nuovi host virtuali per Edge nel Cloud utilizzano il riferimento all'archivio chiavi e all'archivio chiavi. I riferimenti consentono di modificare l'archivio chiavi e l'archivio chiavi senza contattare l'assistenza di Apigee Edge.

Gli host virtuali meno recenti su Apigee Edge potrebbero non essere configurati per l'utilizzo dei riferimenti per gli archivi chiavi e truststore. In questo caso, puoi aggiornare l'host virtuale per utilizzare un riferimento.

Aggiornamento di un host virtuale per l'utilizzo di riferimento

Utilizza la seguente procedura per aggiornare l'host virtuale:

  1. Se necessario, crea un nuovo archivio chiavi e carica un certificato come descritto in Creazione di archivi chiavi e archivi attendibili mediante l'interfaccia utente Edge. Se disponi già di un archivio chiavi, puoi configurare un riferimento che punti a quell'archivio.
  2. Creare un nuovo riferimento all'archivio chiavi.
  3. Se necessario, crea un nuovo archivio attendibilità e carica un certificato. Se hai già un archivio attendibilità, puoi configurare un riferimento che rimandi a quest'ultima.
  4. Creare un nuovo riferimento all'archivio attendibilità.
  5. Aggiorna l'host virtuale per impostare archivio chiavi, alias, archivio attendibilità e qualsiasi altro protocollo TLS proprietà. Il payload per la chiamata è:
    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>
            <OCSPStapling>off</OCSPStapling>
            <SSLInfo>
              <Enabled>true</Enabled>
              <ClientAuthEnabled>true</ClientAuthEnabled>
              <KeyStore>ref://myKeyStore2Way</KeyStore>
              <KeyAlias>keyAlias</KeyAlias>
              <TrustStore>ref://myTrustStore2Way</TrustStore>
              <IgnoreValidationErrors>false</IgnoreValidationErrors>
            </SSLInfo>
          </VirtualHost>' \
        -u orgAdminEmail:pWord
  6. Contatta Apigee assistenza per riavviare i router perimetrali in modo da completare il processo.