Riferimento alle proprietà host virtuali

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Rappresentazione dell'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 cloud privato 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 4.16.01 fino a 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 Obbligatorio
VirtualHost

Specifica il nome dell'host virtuale. Utilizzi questo nome per fare riferimento all'host virtuale quando configuri un proxy API.

I caratteri che puoi utilizzare nell'attributo nome sono limitati a: A-Z0-9._\-$%.

Nessuno
Porta

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

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

Per Cloud: devi specificare la porta 443 quando crei un host virtuale. Se omesso, per impostazione predefinita la porta è impostata su 443. Se hai un host virtuale esistente che utilizza una porta diversa da 443, non puoi modificare la porta.

Per le release di Private Cloud dalla 4.16.01 alla 4.17.05:quando crei un host virtuale, specifica la porta del router utilizzata dall'host virtuale. Ad esempio, porta 9001. Per impostazione predefinita, il router viene eseguito come utente "apigee" che non ha accesso a porte privilegiate, in genere le porte 1024 e inferiori. 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 queste porte. Per saperne di più, consulta Configurare un host virtuale.

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

Nessuno
BaseUrl Esegue l'override dell'URL visualizzato dall'UI Edge per un proxy API di cui è stato eseguito il deployment sull'host virtuale. Utile quando hai un bilanciatore del carico esterno davanti agli Edge Router. 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 es. "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 revocato.

Se abilitato, l'OCSP stapling consente a Edge, che funge da server TLS per TLS unidirezionale, di eseguire query direttamente sul risponditore OCSP e memorizzare nella cache la risposta. Edge restituisce quindi questa risposta al client TLS o la aggrega nell'ambito dell'handshake TLS. Per saperne di più, consulta Attivare OCSP Stapling sul server.

TLS deve essere abilitato per attivare l'aggiornamento OCSP. Imposta su on per attivare. Il valore predefinito è off.

off No
HostAliases
HostAlias

Il nome DNS visibile pubblicamente dell'host virtuale sul router, che include facoltativamente il numero di porta. La combinazione di nome alias host e numero di porta per l'host virtuale deve essere univoca per tutti gli host virtuali nell'installazione di 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 che corrispondano all'alias host e l'alias host deve corrispondere alla stringa che il client passa nell'intestazione Host.

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

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

Puoi includere il carattere jolly "*" nell'alias host. Il carattere jolly "*" può trovarsi 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 di 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 anche di utilizzare meno host virtuali per ambiente per rimanere entro i limiti del prodotto, poiché un host virtuale con un carattere jolly viene conteggiato come un solo host virtuale.

Per Cloud: se hai 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 ogni router, specificando l'indirizzo IP di ciascun router e la porta dell'host virtuale.

Nessuno
Interfacce Disponibile solo per Edge for Private Cloud.
Interfaccia

Specifica le interfacce di rete a cui vuoi che port sia associato. Se ometti questo elemento, la porta viene 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 sul 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 il modo in cui il router reagisce per questo host virtuale quando il processore di messaggi non è disponibile.

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

off Disattiva i nuovi tentativi e l'host virtuale restituisce un codice di errore in seguito a una richiesta.
http_599 (Impostazione predefinita) 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 le nuove richieste risponde con HTTP 599 per segnalare al router di riprovare la richiesta sul processore di messaggi successivo.

error Se si è verificato un errore durante la creazione di una connessione con il processore di messaggi, il passaggio di una richiesta o la lettura dell'intestazione della risposta, il router inoltra la richiesta al processore di messaggi successivo.
timeout Se si verifica un timeout durante la creazione di una connessione con il 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.
invalid_header Se il processore di messaggi ha restituito una risposta vuota o non valida, il router inoltra la richiesta al processore di messaggi successivo.
http_XXX Se il processore di messaggi ha restituito una risposta con il codice HTTP XXX, il router inoltra la richiesta al processore di messaggi successivo.

Se specifichi più valori, il router li combina utilizzando l'operatore logico OR.

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 inviando una richiesta all'assistenza Apigee Edge.
ListenOption

Se utilizzi un ELB in modalità pass-through TCP per gestire le richieste ai router di confine, il router considera l'indirizzo IP dell'ELB come IP client anziché l'IP client effettivo. Se il router richiede l'IP client reale, attiva proxy_protocol su ELB in modo che trasmetta l'IP client nel pacchetto TCP. Sul router devi anche impostare <ListenOption> sull'host virtuale su proxy_protocol. Poiché ELB è in modalità pass-through TCP, in genere termini TLS sul router. Pertanto, in genere configuri l'host virtuale per utilizzare proxy_protocol solo quando lo configuri anche per utilizzare TLS.

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

Ad esempio:

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

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

SSLInfo
Abilitata

Abilita TLS/SSL unidirezionale. Devi aver definito un keystore contenente il certificato e la chiave privata.

Per 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 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 attivata a disattivata o viceversa.

false No
ClientAuthEnabled Abilita TLS bidirezionale o client tra Edge (server) e l'app (client) che effettua la richiesta. L'abilitazione di TLS a due vie richiede la configurazione di un truststore 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 del keystore in modo da poterlo modificare senza dover riavviare i router. Per saperne di più, consulta Opzioni per la configurazione di TLS.

Nessuno Sì, se Enabled è 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 saperne di più, consulta Opzioni per la configurazione di TLS. Nessuno Sì, se Enabled è true
TrustStore

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

Apigee consiglia di utilizzare un riferimento per specificare il nome del truststore in modo da poterlo modificare senza dover riavviare i router. Per saperne di più, consulta Opzioni per la configurazione di TLS.

Nessuno No
IgnoreValidationErrors

Se il valore è true, specifica di ignorare gli errori del certificato TLS. Questa opzione è simile all'opzione "-k" per cURL.

Questa opzione è valida quando configuri TLS per i server di destinazione e gli endpoint di destinazione e quando configuri host virtuali che utilizzano TLS bidirezionale.

Se utilizzato con un endpoint di destinazione/server 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 va a buon fine.

false No
Cifrari

Solo per Edge for Private Cloud versione 4.15.07 e precedenti.

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

Per limitare le cifrature, 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>
Tutti i linguaggi supportati dalla JVM No
Protocolli

Solo per Edge for Private Cloud versione 4.15.07 e precedenti.

Specifica i protocolli supportati dall'host virtuale. Se non vengono specificati protocolli, saranno consentiti tutti i protocolli disponibili per la JVM.

Per limitare i protocolli, aggiungi i seguenti elementi:

<Protocols>
  <Protocol>TLSv1</Protocol>
  <Protocol>TLSv1.2</Protocol>
  <Protocol>SSLv2Hello</Protocol>
</Protocols>
Tutti i linguaggi supportati dalla JVM No
UseBuiltInFreeTrialCert Disponibile solo per Edge Cloud.
UseBuiltInFreeTrialCert

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

Il certificato di prova senza costi di Apigee è definito per un dominio di *.apigee.net. Pertanto, anche <HostAlias> dell'host virtuale deve essere 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 delle informazioni sulla connessione TLS da parte di Edge. Queste informazioni sono quindi disponibili come variabili di flusso in un proxy API. Per saperne di più, consulta Accesso alle informazioni sulla 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 saperne di più, consulta Accesso alle informazioni sulla 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 di destinazione utilizzato dal processore di messaggi. In questo modo, il router non va in timeout 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, 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 che contiene l'intestazione Keep-Alive. Il router mantiene aperta la connessione fino alla scadenza della durata.

Il router non chiuderà la connessione se è attualmente 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 cifrature supportate dall'host virtuale, ignorando le cifrature predefinite impostate sul router.

Specifica un elenco di cifrari delimitati 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, consulta la pagina https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. Tieni presente che questo token utilizza i nomi delle cifrature OpenSSL, ad esempio AES128-SHA256, e non i nomi delle cifrature Java/JSSE, ad esempio TLS_RSA_WITH_AES_128_CBC_SHA256.

ALTO:!aNULL:

!MD5:

!DH+3DES:

!kEDH

No
ssl_protocols

Disponibile solo per Edge for Private Cloud.

Imposta i protocolli TLS supportati dall'host virtuale come elenco delimitato da spazi, ignorando i 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 delimitati da spazi nel formato:

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

Attiva (on) o disattiva (off) il buffering del corpo della richiesta. Quando il buffering è attivo, il router memorizza nel buffer l'intero corpo della richiesta prima di inviarlo al processore di messaggi. Se si verifica un errore, il router può riprovare con un processore di messaggi diverso.

Se disattivato, il buffering viene disabilitato e il corpo della richiesta viene inviato immediatamente al processore di messaggi non appena viene ricevuto. Se si verifica un errore, il router non ritenta la richiesta a un altro processore di messaggi.

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