Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X. info
Rappresentazione dell'host virtuale
L'oggetto XML utilizzato per definire un host virtuale si basa sulla versione di Edge: Cloud o Private Cloud.
Se sei un cliente di 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 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>
Cloud privato 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 seguente tabella elenca le proprietà utilizzate per configurare un host virtuale:
Proprietà | Descrizione | Predefinito | Obbligatorio | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VirtualHost |
Specifica il nome dell'host virtuale. Utilizza questo nome per fare riferimento all'host virtuale quando configuri un proxy API. I caratteri che puoi utilizzare nell'attributo name sono limitati a: A-Z0-9._\-$%. |
Nessuno | Sì | ||||||||||||
Porta |
Specifica il numero di porta utilizzato dall'host virtuale. Assicurati che la porta sul router Edge sia aperta. Se specifichi una porta in un elemento Per Cloud: devi specificare la porta 443 quando crei un host virtuale. Se viene omessa, 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 Private Cloud 4.16.01-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 funziona come l'utente "apigee" che non ha accesso alle porte con privilegi, in genere le porte 1024 e precedenti. Se vuoi creare un host virtuale che leghi il router a una porta protetta, devi configurare il router in modo che funzioni come un utente con accesso a queste porte. Per saperne di più, consulta Configurare un host virtuale. 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. Pertanto, più host virtuali non possono utilizzare lo stesso numero di porta se la terminazione TLS avviene sul router alla porta specificata. |
Nessuno | Sì | ||||||||||||
BaseUrl | Sostituisce l'URL visualizzato dall'interfaccia utente di Edge per un proxy API di cui è stato eseguito il deployment nell'host virtuale. È utile quando è presente un bilanciatore del carico esterno davanti agli Edge Router. Per saperne di più, consulta Configurare l'accesso TLS a un'API per il private cloud.
Il valore di |
Nessuno | No | ||||||||||||
OCSPStapling |
Un client OCSP (Online Certificate Status Protocol) invia una richiesta di stato a un rispondente OCSP per determinare se il certificato TLS è valido. La risposta indica se il certificato TLS è valido e non è stato revocato. Se abilitata, la collegata OCSP consente a Edge, che agisce come server TLS per TLS unidirezionale, di eseguire query direttamente sul risponditore OCSP e poi memorizzare nella cache la risposta. Edge restituisce quindi questa risposta al client TLS o la incolla nell'ambito dell'handshake TLS. Per saperne di più, consulta Attivare l'applicazione di OCSP Stapling sul server. Per abilitare l'unione OCSP, è necessario attivare TLS. Imposta su |
off | No | ||||||||||||
HostAliases | |||||||||||||||
HostAlias |
Il nome DNS visibile al pubblico dell'host virtuale sul router, eventualmente incluso il numero di porta. La combinazione del nome dell'alias host e del 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 dell'host, che deve corrispondere alla stringa passata dal client nell'intestazione Il numero di porta in Puoi avere più definizioni di 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 Per Cloud: se hai già un host virtuale che utilizza una porta diversa da 443, non puoi aggiungere o rimuovere un alias host. Per Private Cloud: 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 | Sì | ||||||||||||
Interfacce | Disponibile solo per Edge for Private Cloud. | ||||||||||||||
Interfaccia |
Specifica le interfacce di rete a cui vuoi che 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 modalità di reazione del router per questo host virtuale quando il Message Processor si arresta. Puoi specificare più valori utilizzando
Se specifichi più valori, il router utilizza un operatore OR logico 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 inviando una richiesta all'assistenza Apigee Edge. | ||||||||||||||
ListenOption |
Se utilizzi un ELB in modalità pass-thru TCP per gestire le richieste ai router perimetrali, il router considera l'indirizzo IP dell'ELB come IP client anziché come IP client effettivo. Se il router richiede l'IP client reale, attiva Il valore predefinito per Ad esempio: <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> Per annullare in un secondo momento l'impostazione di |
||||||||||||||
SSLInfo | |||||||||||||||
Attivato |
Attiva TLS/SSL unidirezionale. Devi aver definito un archivio chiavi contenente il certificato e la 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 diversa da 443, non puoi modificare l'impostazione TLS. Ciò significa che non puoi modificare l'impostazione TLS da attivata a disattivata o viceversa. |
falso | No | ||||||||||||
ClientAuthEnabled | Attiva TLS bidirezionale o client tra Edge (server) e l'app (client) che effettua la richiesta. Per abilitare TLS bidirezionale, devi configurare un truststore su Edge contenente il certificato del client TLS. | falso | No | ||||||||||||
KeyStore |
Il nome del keystore 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 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 la sezione 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 utilizzata per TLS a due vie. Obbligatorio se Apigee consiglia di utilizzare un riferimento per specificare il nome dell'archivio di attendibilità in modo da poter modificare l'archivio di attendibilità senza dover riavviare i router. Per saperne di più, consulta la sezione Opzioni per la configurazione di TLS. |
Nessuno | No | ||||||||||||
IgnoreValidationErrors |
Se impostato su true, consente di ignorare gli errori del certificato TLS. È simile all'opzione "-k" di cURL. Questa opzione è valida per la configurazione di TLS per i server target e gli endpoint target, nonché per la configurazione di host virtuali che utilizzano TLS bidirezionale. Se utilizzato con un endpoint/server di destinazione, se il sistema di backend utilizza SNI e restituisce un certificato con un DN (Distinguished Name) dell'oggetto che non corrisponde al nome host, non è possibile ignorare l'errore e la connessione non va a buon fine. |
falso | No | ||||||||||||
Cifrari |
Solo per Edge for Private Cloud versione 4.15.07 e precedenti. Specifica le crittografie supportate dall'host virtuale. Se non vengono specificati algoritmi di crittografia, tutti gli algoritmi di crittografia disponibili per la JVM saranno consentiti. Per limitare le cifre, 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 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, verranno 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 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 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 della prova senza costi di Apigee è definito per un dominio di Consulta Definire un host virtuale che utilizza il certificato e la chiave della prova senza costi di Apigee. |
falso | No | ||||||||||||
PropagateTLSInformation | Disponibile in versione alpha solo per Edge Cloud. | ||||||||||||||
ConnectionProperties |
Consente a Edge di acquisire le informazioni sulla connessione TLS. Queste informazioni sono quindi disponibili come variabili di flusso in un proxy API. Per ulteriori informazioni, consulta Accesso alle informazioni di connessione TLS in un proxy API. |
falso | No | ||||||||||||
ClientProperties |
Consente di acquisire i 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. |
falso | 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 dei 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 questa durata. Il valore di proxy_read_timeout deve essere maggiore del valore di timeout target utilizzato
dall'elaborazione dei messaggi. In questo modo, il router non scade prima che il
Message Processor abbia avuto il tempo di restituire una risposta. Il timeout target predefinito per il
processore di messaggi è 55 secondi, 55000 millisecondi, come definito dal
token |
57 | No | ||||||||||||
keepalive_timeout |
Imposta la durata del timeout, in secondi, tra il client e il router quando il client effettua una richiesta contenente l'intestazione Keep-Alive. Il router mantiene la connessione aperta fino alla scadenza della durata. Il router non chiuderà la connessione se è in attesa di una risposta dall'Elaboratore 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 quelle predefinite impostate sul router. Specifica un elenco di cifre delimitate da due punti, nel seguente 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 delle crittografie OpenSSL, ad esempio AES128-SHA256, e non i nomi delle crittografie Java/JSSE, ad esempio TLS_RSA_WITH_AES_128_CBC_SHA256. |
HIGH:!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, eseguendo l'override dei protocolli predefiniti impostati sul router. Nota: se due host virtuali condividono la stessa porta, devono impostare
Specifica un elenco di protocolli TLS delimitati da spazi, nel seguente 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 esegue il buffer dell'intero corpo della richiesta prima di inviarlo al processore di messaggi. In caso di errore, il router può riprovare con un altro processore di messaggi. Se è disattivato, il buffering viene disattivato e il corpo della richiesta viene inviato al Message Processor immediatamente dopo la ricezione. Se si verifica un errore, il router non riprova a inviare la richiesta a un altro elaboratore di messaggi. |
on | No | ||||||||||||
proxy_buffering | Attiva (on) o disattiva (off) il buffering della risposta. Quando il buffer è attivo, il router memorizza il buffer della risposta. Quando il buffering è disattivato, la risposta viene passata al client in modo sincrono, immediatamente dopo la ricezione da parte del router. | on | No |