Riferimento alle proprietà host virtuali

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Rappresentazione host virtuale

L'oggetto XML che utilizzi per definire un host virtuale si basa sulla tua versione di Edge: Cloud o Private Cloud.

Se sei un cliente Private Cloud, devi assicurarti di utilizzare il codice XML corretto per la tua versione di Edge.

Cloud e Private Cloud 4.17.01 e versioni successive

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <BaseUrl>http://myCo.com</BaseUrl>
    <OCSPStapling>offOn</OCSPStapling>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    </Interfaces>
    <RetryOptions>
        <RetryOption>option</RetryOption>
    </RetryOptions>
    <ListenOptions>
        <ListenOption>option</ListenOption>
    </ListenOptions>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <!-- UseBuiltInFreeTrialCert is for Edge Cloud only -->
    <UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert>
    <PropagateTLSInformation>
        <!-- PropagateTLSInformation is Alpha in the Cloud only -->
        <ConnectionProperties>trueFalse</ConnectionProperties>
        <ClientProperties>trueFalse</ClientProperties>
    </PropagateTLSInformation>
    <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>
        <!-- ssl_protocols is Private Cloud only -->
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

Private Cloud dalla versione 4.16.01 alla versione 4.16.09

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

Private Cloud 4.15.07 e versioni precedenti

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>keystore</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>truststore</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
        <Ciphers>
             <Cipher>cipher</Cipher>
             <Cipher>cipher</Cipher>
         </Ciphers>
         <Protocols>
             <Protocol>protocol</Protocol>
             <Protocol>protocol</Protocol>
         </Protocols>
    </SSLInfo>
</VirtualHost>

Proprietà di configurazione dell'host virtuale

La tabella seguente elenca le proprietà che utilizzi per configurare un host virtuale:

Proprietà Descrizione Predefinito Obbligatorie
VirtualHost

Specifica il nome dell'host virtuale. che utilizzerai per fare riferimento all'host virtuale durante la configurazione di un proxy API.

I caratteri utilizzabili nell'attributo del nome sono limitati a: A-Z0-9._\-$%.

Nessuno
Porta

Specifica il numero di porta utilizzato dall'host virtuale. Assicurati che la porta del router Edge sia aperta.

Se specifichi una porta in un elemento hostalias, il numero di porta specificato da <Port> deve corrispondere.

Per il cloud: devi specificare la porta 443 quando crei un host virtuale. Se omesso, per impostazione predefinita la porta viene impostata su 443. Se disponi di un host virtuale esistente che utilizza una porta diversa dalla 443, non puoi modificarla.

Per le release di Private Cloud dalla 4.16.01 alla 4.17.05:quando crei un host virtuale, specifichi la porta del router utilizzata dall'host virtuale. Ad esempio, la porta 9001. Per impostazione predefinita, il router viene eseguito come utente "apigee", che non ha accesso alle porte con privilegi, in genere le porte 1024 e precedenti. Se vuoi creare un host virtuale che associa il router a una porta protetta, devi configurare il router in modo che venga eseguito come utente con accesso a quelle porte. Per saperne di più, consulta Configurare un host virtuale.

Per le release di Private Cloud precedenti alla 4.16.01: un router può rimanere in ascolto di una sola connessione HTTPS per host virtuale, su una porta specifica, con il certificato specificato. Di conseguenza, più host virtuali non possono utilizzare lo stesso numero di porta se si verifica la terminazione TLS sul router alla porta specificata.

Nessuno
BaseUrl Esegue l'override dell'URL visualizzato dall'UI perimetrale per un proxy API di cui è stato eseguito il deployment nell'host virtuale. Utile quando hai un bilanciatore del carico esterno davanti ai router perimetrali. Per saperne di più, consulta Configurazione dell'accesso TLS a un'API per il cloud privato.

Il valore di BaseUrl deve includere il protocollo (ad esempio "http://" o "https://").

Nessuno No
OCSPStapling

Un client OCSP (Online Certificate Status Protocol) invia una richiesta di stato a un risponditore OCSP per determinare se il certificato TLS è valido. La risposta indica se il certificato TLS è valido e non è stato revocato.

Quando l'opzione è abilitata, la pinzatura OCSP consente a Edge, che agisce come server TLS per TLS unidirezionale, di eseguire query direttamente sul risponditore OCSP e quindi di memorizzare la risposta nella cache. Edge restituisce quindi questa risposta al client TLS, o lo staple, nell'ambito dell'handshake TLS. Per ulteriori informazioni, consulta Abilitare la pinzatura OCSP sul server.

Per abilitare la pinzatura OCSP è necessario abilitare TLS. Impostala su on per attivarla. Il valore predefinito è off.

off No
HostAliases
HostAlias

Il nome DNS visibile pubblicamente dell'host virtuale sul router, incluso facoltativamente il numero di porta. La combinazione di nome dell'alias host e numero di porta per l'host virtuale deve essere univoca per tutti gli host virtuali nell'installazione Edge. Ciò significa che più host virtuali possono utilizzare lo stesso numero di porta se hanno alias host diversi.

Devi creare una voce DNS e un record CNAME corrispondenti all'alias host e quest'ultimo deve corrispondere alla stringa trasmessa dal client nell'intestazione Host.

Il numero di porta in HostAlias è facoltativo. Se specifichi la porta come parte dell'alias host, devi specificare anche la stessa porta utilizzando l'elemento <Port>. In alternativa, puoi specificare due elementi HostAlias, uno con il numero di porta e uno senza.

Puoi avere più definizioni HostAlias nella stessa definizione di host virtuale, corrispondenti a più voci DNS per l'host virtuale, ma non per più porte. Se vuoi utilizzare più porte, crea più definizioni di host virtuale con porte diverse.

Puoi includere il carattere jolly "*" nell'alias host. Il carattere jolly "*" può essere solo all'inizio (prima del primo ".") dell'alias host e non può essere combinato con altri caratteri. Ad esempio *.example.com. Il certificato TLS per l'host virtuale deve avere un carattere jolly corrispondente nel nome CN del certificato. Ad esempio, *.example.com. L'utilizzo di un carattere jolly in un alias host virtuale consente ai proxy API di gestire le chiamate indirizzate a più sottodomini, ad esempio alpha.example.com, beta.example.com o live.example.com. L'utilizzo di un alias con caratteri jolly ti consente inoltre di utilizzare meno host virtuali per ambiente, in modo da rispettare i limiti di prodotto, poiché un host virtuale con un carattere jolly viene conteggiato come un unico host virtuale.

Per il cloud: se disponi di un host virtuale esistente che utilizza una porta diversa da 443, non puoi aggiungere o rimuovere un alias host.

Per il cloud privato: se imposti l'alias host utilizzando gli indirizzi IP dei router e non le voci DNS, aggiungi un alias host separato per ciascun router, specificando l'indirizzo IP di ciascun router e la porta dell'host virtuale.

Nessuno
Interfacce Disponibile solo per Edge per il cloud privato.
Interfaccia

Specifica le interfacce di rete a cui vuoi associare port. Se ometti questo elemento, la porta sarà associata a tutte le interfacce.

Ad esempio, per specificare di associare la porta solo a en0:

<Interfaces>
  <Interface>en0</Interface>
</Interfaces>

Determina le interfacce disponibili nel tuo sistema eseguendo il comando "ifconfig -a".

Nessuno Tutte le interfacce
RetryOptions Disponibile per Edge Cloud e per Private Cloud 4.18.01 e versioni successive.
RetryOption

Configura la reazione del router per questo host virtuale quando il processore di messaggi smette di funzionare.

Puoi specificare più valori utilizzando <RetryOption>. I valori validi includono:

off Disattiva i nuovi tentativi e l'host virtuale restituisce un codice di errore su una richiesta.
http_599 (Predefinito) Se il router riceve una risposta HTTP 599 dal processore di messaggi, inoltra la richiesta al processore di messaggi successivo.

HTTP 599 è un codice di risposta speciale generato da un processore di messaggi quando viene arrestato. Il processore di messaggi tenta di completare tutte le richieste esistenti, ma per eventuali nuove richieste risponde con HTTP 599 per segnalare al router di ritentare la richiesta al successivo processore di messaggi.

error Se si è verificato un errore durante la connessione al processore di messaggi, il passaggio di una richiesta o la lettura dell'intestazione della risposta, il router inoltra la richiesta al successivo processore di messaggi.
timeout Se si verifica un timeout mentre viene stabilita una connessione con il processore di messaggi, passa una richiesta o legge l'intestazione della risposta, il router inoltra la richiesta al successivo processore di messaggi.
invalid_header Se il processore di messaggi ha restituito una risposta vuota o non valida, il router inoltra la richiesta al successivo processore di messaggi.
http_XXX Se il processore di messaggi ha restituito una risposta con il codice HTTP XXX, il router inoltra la richiesta al successivo processore di messaggi.

Se specifichi più valori, il router utilizza un operatore logico OR per combinarli.

Ad esempio:

<RetryOptions>
  <RetryOption>http_599</RetryOption>
  <RetryOption>error</RetryOption>
  <RetryOption>timeout</RetryOption>
  <RetryOption>invalid_header</RetryOption>
</RetryOptions>
ListenOptions Disponibile per Private Cloud 4.18.01 e versioni successive e per Edge Cloud richiedendo l'assistenza Apigee Edge.
ListenOption

Se utilizzi un ELB in modalità pass-thru TCP per gestire le richieste ai router perimetrali, il router tratta l'indirizzo IP dell'ELB come IP client, anziché come IP client effettivo. Se il router richiede l'IP client reale, abilita proxy_protocol su ELB in modo che passi l'IP client nel pacchetto TCP. Sul router, devi anche impostare <ListenOption> sull'host virtuale su proxy_protocol. Poiché l'ELB è in modalità pass-through TCP, in genere viene terminato TLS sul router. Di conseguenza, in genere configuri l'host virtuale per l'utilizzo di proxy_protocol quando lo configuri anche per l'utilizzo di TLS.

Il valore predefinito per <ListenOption> è una stringa vuota.

Ad esempio:

<ListenOptions>
  <ListenOption>proxy_protocol</ListenOption>
</ListenOptions>

Per annullare l'impostazione di <ListenOption> in un secondo momento, aggiorna l'host virtuale e ometti il tag <ListenOptions> dall'aggiornamento.

SSLInfo
Abilitati

Attiva TLS/SSL unidirezionale. Devi aver definito un archivio chiavi contenente il certificato e la chiave privata.

Per il cloud: devi disporre di un certificato firmato da un'entità attendibile, ad esempio Symantec o VeriSign. Non puoi utilizzare un certificato autofirmato o certificati foglia firmati da un'autorità di certificazione autofirmata.

Per il cloud: se l'host virtuale esistente è configurato per utilizzare una porta diversa dalla 443, non puoi modificare l'impostazione TLS. Ciò significa che non puoi modificare l'impostazione TLS da abilitato a disabilitato o da disabilitato ad abilitato.

false No
ClientAuthEnabled Abilita TLS bidirezionale, o client, tra Edge (server) e l'app (client) che effettua la richiesta. L'attivazione di TLS bidirezionale richiede la configurazione di un archivio attendibilità su Edge che contenga il certificato del client TLS. false No
KeyStore

Il nome dell'archivio chiavi su Edge.

Apigee consiglia di utilizzare un riferimento per specificare il nome dell'archivio chiavi in modo da poter modificare l'archivio chiavi senza dover riavviare i router. Per ulteriori informazioni, vedi Opzioni per la configurazione di TLS.

Nessuno Sì se l'opzione Attivato è true
KeyAlias L'alias specificato quando hai caricato il certificato e la chiave privata nell'archivio chiavi. Devi specificare il nome dell'alias letteralmente; non puoi utilizzare un riferimento. Per ulteriori informazioni, vedi Opzioni per la configurazione di TLS. Nessuno Sì se l'opzione Attivato è true
TrustStore

Il nome dell'archivio attendibilità su Edge che contiene la catena di certificati o di certificati utilizzati per TLS bidirezionale. Obbligatorio se <ClientAuthEnabled> è true.

Apigee consiglia di utilizzare un riferimento per specificare il nome dell'archivio attendibilità in modo da poter modificare l'archivio attendibilità senza dover riavviare i router. Per ulteriori informazioni, vedi Opzioni per la configurazione di TLS.

Nessuno No
IgnoreValidationErrors

Se true, consente di ignorare gli errori dei certificati TLS. È simile all'opzione "-k" di cURL.

Questa opzione è valida quando si configura TLS per i server di destinazione e gli endpoint di destinazione e durante la configurazione di host virtuali che utilizzano TLS bidirezionale.

Quando viene utilizzato con un endpoint/server di destinazione di destinazione, se il sistema di backend utilizza SNI e restituisce un certificato con un nome distinto (DN) del soggetto che non corrisponde al nome host, non è possibile ignorare l'errore e la connessione non riesce.

false No
Crittografia

Solo per Edge per Private Cloud versione 4.15.07 e precedenti.

Specifica le crittografie supportate dall'host virtuale. Se non vengono specificate crittografie, saranno consentite tutte le crittografie disponibili per la JVM.

Per limitare le crittografie, aggiungi i seguenti elementi:

<Ciphers>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher>
</Ciphers>
Tutte supportate da JVM No
Protocolli

Solo per Edge per Private Cloud versione 4.15.07 e precedenti.

Specifica i protocolli supportati dall'host virtuale. Se non viene specificato alcun protocollo, saranno consentiti tutti quelli disponibili per la JVM.

Per limitare i protocolli, aggiungi i seguenti elementi:

<Protocols>
  <Protocol>TLSv1</Protocol>
  <Protocol>TLSv1.2</Protocol>
  <Protocol>SSLv2Hello</Protocol>
</Protocols>
Tutte supportate da JVM No
UseBuiltInFreeTrialCert Disponibile solo per Edge Cloud.
UseBuiltInFreeTrialCert

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

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

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

false No
PropagateTLSInformation Disponibile in versione alpha solo per Edge Cloud.
ConnectionProperties

Consente l'acquisizione di informazioni sulla connessione TLS da Edge. Queste informazioni sono quindi disponibili come variabili di flusso in un proxy API. Per ulteriori informazioni, vedi Accesso alle informazioni di connessione TLS in un proxy API.

false No
ClientProperties

Consente l'acquisizione dei dettagli del certificato client acquisiti da Edge in TLS bidirezionale. Queste informazioni sono quindi disponibili come variabili di flusso in un proxy API. Per ulteriori informazioni, vedi Accesso alle informazioni di connessione TLS in un proxy API.

false No
Proprietà Disponibile per Edge Cloud e per Private Cloud 4.17.01 e versioni successive.
proxy_read_timeout

Imposta la durata del timeout, in secondi, tra i processori di messaggi e il router. Il router interrompe la connessione e restituisce una risposta HTTP 504 se non riceve una risposta dal processore di messaggi prima della scadenza di questo periodo.

Il valore di proxy_read_timeout deve essere maggiore del valore di timeout target utilizzato dal processore di messaggi. Ciò garantisce che il router non scada prima che il processore di messaggi abbia avuto il tempo di restituire una risposta. Il timeout di destinazione predefinito per il processore di messaggi è 55 secondi e 55.000 millisecondi, come definito dal token conf_http_HTTPTransport.io.timeout.millis per il processore di messaggi.

57 No
keepalive_timeout

Imposta la durata del timeout, in secondi, tra il client e il router quando il client effettua una richiesta con l'intestazione Keep-Alive. Il router mantiene la connessione aperta fino alla scadenza del periodo di tempo.

Il router non chiuderà la connessione se è in attesa di una risposta dal processore di messaggi. Il timeout inizia solo dopo che il router restituisce la risposta al client.

65 No
ssl_ciphers

Imposta le crittografie supportate dall'host virtuale, sostituendo le crittografie predefinite impostate sul router.

Specifica un elenco di crittografia delimitato da due punti nel formato:

<Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property>

Per informazioni sulla sintassi e sui valori consentiti da questo token, visita la pagina https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. Tieni presente che questo token utilizza i nomi della crittografia OpenSSL, come AES128-SHA256, e non i nomi di crittografia Java/JSSE, come TLS_RSA_WITH_AES_128_CBC_SHA256.

HIGH:!ANULL:

!MD5:

!DH+3DES:

!kEDH

No
ssl_protocols

Disponibile solo per Edge per il cloud privato.

Imposta i protocolli TLS supportati dall'host virtuale, sotto forma di elenco delimitato da spazi, eseguendo l'override dei protocolli predefiniti impostati sul router.

Nota: se due host virtuali condividono la stessa porta, devono impostare ssl_protocols sugli stessi protocolli. Ciò significa che gli host virtuali che condividono la stessa porta devono supportare esattamente gli stessi protocolli.

Specifica un elenco di protocolli TLS delimitato da spazi nel formato:

<Property name="ssl_protocols">TLSv1 TLSv1.2</Property>
TLSv1 TLSv1.1 TLSv1.2 No
proxy_request_buffering

Consente di attivare (attivare) o disattivare (disattivare) il buffering del corpo della richiesta. Quando il buffer è attivo, il router esegue il buffer dell'intero corpo della richiesta prima di inviarlo al processore di messaggi. Se si verifica un errore, il router può riprovare a utilizzare un altro processore di messaggi.

Se non è attivo, il buffering viene disabilitato e il corpo della richiesta viene inviato al processore di messaggi immediatamente dopo la ricezione. Se si verifica un errore, il router non riprova a inviare la richiesta a un altro processore di messaggi.

on No
proxy_buffering Consente di attivare (attivare) o disattivare (disattivare) il buffering della risposta. Quando il buffer è attivo, il router memorizza la risposta nel buffer. Quando il buffer è disattivato, la risposta viene passata al client in modo sincrono, non appena viene ricevuta dal router. on No