Riferimento alle proprietà host virtuali

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione 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 cloud privato.

Se sei un cliente di 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 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 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 host virtuale

Nella tabella seguente sono elencate le proprietà che puoi utilizzare per configurare un host virtuale:

Proprietà Descrizione Predefinito Obbligatorio
VirtualHost

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

I caratteri che puoi utilizzare nell'attributo name 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 Edge.

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 già un host virtuale che utilizza una porta diversa da 443, non puoi modificarla.

Per le release per il cloud privato dalla 4.16.01 alla 4.17.05: quando crei un host virtuale, devi specificare la porta del router utilizzata dall'host virtuale. Ad esempio, porta 9001. Per impostazione predefinita, il router funziona come l'utente "apigee" che non ha accesso con privilegi, in genere le porte 1024 e precedenti. Se vuoi creare un host virtuale che lega il router a una porta protetta, è necessario configurare il router in modo che funzioni un utente con accesso a quelle porte. Consulta Configurare un host virtuale per altro ancora.

Per le release del cloud privato precedenti alla 4.16.01: un router può ascoltare 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 in caso di terminazione TLS si trova sul router alla porta specificata.

Nessuno
BaseUrl Sostituisce l'URL visualizzato dall'interfaccia utente Edge per un proxy API distribuito nell'istanza virtuale . È utile quando è presente un bilanciatore del carico esterno che si trova davanti ai router Edge. Consulta Configurazione di TLS l'accesso 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 uno stato a un risponditore OCSP per determinare se il certificato TLS è valido. La risposta indica se il certificato TLS è valido e non revocato.

Se questa opzione è abilitata, la graffatura OCSP consente Edge, che funge da server TLS per TLS unidirezionale, interroga direttamente l'intervistato OCSP e poi memorizza nella cache la risposta. Edge restituisce quindi questa risposta al client TLS, o la staple, nell'ambito dell'handshake TLS. Vedi Abilitazione della pinzatura OCSP sul server. per saperne di più.

TLS deve essere abilitato per abilitare la pinzatura OCSP. Imposta on per attivare. Il valore predefinito è off.

off No
HostAliases
HostAlias

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

Devi creare una voce DNS e un record CNAME che corrisponda all'alias host e all'host L'alias deve corrispondere alla stringa passata dal client nell'intestazione Host.

Il numero di porta in HostAlias è facoltativo. Se specifichi la porta come parte dell'alias host, devi anche specificare la stessa porta utilizzando 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 ma non per più porte. Se vuoi utilizzare più porte, crea più porte delle definizioni di host virtuali con porte diverse.

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. Ad esempio *.example.com. Il certificato TLS per l'host virtuale deve avere un carattere jolly corrispondente nel nome della rete connessa a internet del certificato. Ad esempio, *.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.

Per Cloud: se hai un host virtuale esistente che utilizza una porta diversa 443, non puoi aggiungere o rimuovere un alias host.

Per il cloud privato: se imposti l'alias host utilizzando l'indirizzo indirizzi IP dei router, anziché le voci DNS, aggiungi un alias host separato per ogni Router, che specifica l'indirizzo IP di ciascun router e la porta dell'host virtuale.

Nessuno
Interfacce Disponibile solo per Edge per il Private Cloud.
Interfaccia

Specifica le interfacce di rete a cui vuoi associare port. Se ometti questo elemento, la porta è 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 sistema eseguendo il comando "ifconfig -a" .

Nessuno Tutte le interfacce
RetryOptions Disponibile per Edge Cloud e per Private Cloud 4.18.01 e in un secondo momento.
RetryOption

Configura il modo in cui il router reagisce per questo host virtuale quando il processore di messaggi entra verso il basso.

Puoi specificare più valori utilizzando <RetryOption>. Valori validi include:

off Disabilita il nuovo tentativo e l'host virtuale restituisce un codice di errore su una richiesta.
http_599 (Predefinito) Se il router riceve una risposta HTTP 599 dal messaggio Processore, il router inoltra la richiesta al successivo processore di messaggi.

HTTP 599 è un codice di risposta speciale generato da un messaggio di un processore quando viene arrestato. L'elaboratore di messaggi prova a completare per le nuove richieste, ma per le nuove richieste risponde con HTTP 599 per segnalare sul router per riprovare la richiesta sul successivo processore di messaggi.

error Se si è verificato un errore durante la connessione con il processore di messaggi, passando una richiesta o leggendo l'intestazione della risposta che ne deriva, inoltra la richiesta al successivo processore di messaggi.
timeout Se si verifica un timeout mentre si stabilisce una connessione con il processore di messaggi, passando una richiesta o leggendo l'intestazione della risposta che ne deriva, inoltra la richiesta al successivo processore di messaggi.
invalid_header Se il processore di messaggi restituisce una risposta vuota o non valida, inoltra la richiesta al successivo processore di messaggi.
http_XXX Se il processore di messaggi ha restituito una risposta con HTTP codice XXX, il router inoltra la richiesta al messaggio successivo Processore.

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

Se usi un ELB in modalità pass-thru TCP per gestire le richieste ai router perimetrali, il router considera l'indirizzo IP di ELB come IP client l'indirizzo IP del client effettivo. Se il router richiede l'IP del client reale, attiva proxy_protocol sul ELB in modo che passi l'IP del client nel pacchetto TCP. Sul router, devi inoltre impostare <ListenOption> sull'host virtuale per proxy_protocol. Poiché l'ELB è in modalità pass-thru TCP, di solito la termina TLS sul router. Di conseguenza, di solito configuri solo l'host virtuale per utilizzare proxy_protocol quando lo configuri anche per utilizzare TLS.

Il valore predefinito per <ListenOption> è vuoto stringa.

Ad esempio:

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

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

SSLInfo
Attivato

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

Per Cloud: devi disporre di un certificato firmato da un'entità attendibile, come 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 a differenza di 443, non puoi modificare l'impostazione TLS. Ciò significa che non puoi modificare l'impostazione TLS da Attivato a Disattivato o da Disattivato ad Attivato.

falso No
ClientAuthEnabled Abilita TLS bidirezionale (o client) tra Edge (server) e l'app (client). richiesta. L'abilitazione del TLS a due vie richiede la configurazione di un archivio attendibilità su Edge che contenga il certificato dal client TLS. falso 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 modificare l'archivio chiavi senza dover riavviare i router. Vedi Opzioni per configurare TLS.

Nessuno Sì se Attivato è impostato su true
KeyAlias L'alias specificato quando hai caricato il certificato e la chiave privata nell'archivio chiavi. Tu deve specificare il nome dell'alias letteralmente; non puoi utilizzare un riferimento. Vedi Opzioni per la configurazione TLS. Nessuno Sì se Attivato è impostato su true
TrustStore

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

Apigee consiglia di utilizzare un riferimento per specificare il nome dell'archivio attendibilità in modo da può cambiare il truststore senza dover riavviare i router. Vedi Opzioni per configurare TLS.

Nessuno No
IgnoreValidationErrors

Se impostato su true, consente di ignorare gli errori del certificato TLS. È simile a "-k" opzione su cURL.

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

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

falso No
Crittografia

Solo per Edge per Private Cloud versione 4.15.07 e precedenti.

Specifica le crittografie supportate dall'host virtuale. Se non viene specificata alcuna crittografia, 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 dalla JVM No
Protocolli

Solo per Edge per 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>
Tutte supportate dalla JVM No
UseBuiltInFreeTrialCert Disponibile solo per Edge Cloud.
UseBuiltInFreeTrialCert

Se disponi di un account Edge a pagamento per Cloud e non disponi ancora di un certificato e di una chiave TLS, puoi crea 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.

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

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

Abilita l'acquisizione delle informazioni sulla connessione TLS da parte di Edge. Queste informazioni sono quindi disponibili come variabili di flusso in un proxy API. Consulta Accesso alle informazioni di connessione TLS in un proxy API per saperne di più.

falso No
ClientProperties

Abilita l'acquisizione dei dettagli del certificato client acquisiti da Edge in TLS a due vie. Queste informazioni sono quindi disponibili come variabili di flusso in un proxy API. Consulta Accesso alle informazioni di connessione TLS in un proxy API per saperne di più.

falso No
Proprietà Disponibile per Edge Cloud e per Private Cloud 4.17.01 e in un secondo momento.
proxy_read_timeout

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

Il valore di proxy_read_timeout deve essere maggiore del valore di timeout target utilizzato dal processore di messaggi. In questo modo si garantisce che il router non scada prima che Il processore di messaggi ha avuto il tempo di restituire una risposta. Il timeout target predefinito per Processore di messaggi è di 55 secondi e 55.000 millisecondi, come definito dal conf_http_HTTPTransport.io.timeout.millis token per il messaggio Processore.

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 la connessione aperta fino alla scadenza di questa durata.

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

65 No
ssl_ciphers

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

Specifica un elenco di crittografie 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, vedi https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. Tieni presente che questo token utilizza i nomi crittografici OpenSSL, ad esempio AES128-SHA256 e non Nomi crittografici Java/JSSE, ad esempio TLS_RSA_WITH_AES_128_CBC_SHA256.

HIGH:!aNULL:

MD5:

!DH+3DES:

!kEDH

No
ssl_protocols

Disponibile solo per Edge per il Private Cloud.

Imposta i protocolli TLS supportati dall'host virtuale, come elenco delimitato da spazi, per sovrascrivere i protocolli predefiniti impostati sul router.

Nota: se due host virtuali condividono la stessa porta, devono impostare ssl_protocols agli stessi protocolli. Ciò significa che gli host virtuali che condividono la stessa porta che supportano 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 (disattiva) 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 è verificato un errore, il router può riprovare con un altro processore di messaggi.

Se disattivato, il buffering è disabilitato e il corpo della richiesta viene inviato al processore di messaggi non appena lo riceve. In caso di errore, il router non riprova a eseguire a un altro processore di messaggi.

on No
proxy_buffering Attiva (attiva) o disattiva (disattiva) il buffering della risposta. Quando il buffering è attivo, Il router memorizza il buffer della risposta. Quando il buffering è disattivato, la risposta viene trasmessa al client in modo sincrono, non appena viene ricevuto dal router. on No