Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
L'indicazione del nome del server (SNI) consente di pubblicare più server di backend HTTPS dallo stesso indirizzo IP e dalla stessa porta senza richiedere che questi server di backend utilizzino lo stesso certificato TLS. È un'estensione del protocollo TLS. Quando SNI è abilitato su un client, il client passa il nome host del server di backend come parte dell'handshake TLS iniziale. In questo modo, il server TLS può determinare quale certificato TLS deve essere utilizzato per convalidare la richiesta del client.
Per impostazione predefinita, SNI è disabilitato nel componente processore di messaggi in Edge per Private Cloud per garantire la compatibilità con i server di backend esistenti. Se il server di backend è configurato per supportare SNI, devi abilitare SNI nel componente processore di messaggi. In caso contrario, le richieste API che passano attraverso Apigee Edge non andranno a buon fine e si verificheranno errori di handshake TLS.
Questo documento spiega come:
- Identificare se un server di backend è abilitato per SNI
- Abilitare SNI nei Message Processor per comunicare con i server di backend che supportano SNI
- Disabilitare SNI nei Message Processor, se necessario
- Verificare che la configurazione SNI sia stata aggiornata correttamente nei Message Processor
Prima di iniziare
- Se non hai familiarità con SNI, leggi Utilizzo di SNI con Edge.
- Se non hai familiarità con la configurazione di Edge su Private Cloud, leggi Come configurare Edge.
Identificazione del server abilitato per SNI
Questa sezione descrive come identificare se un server di backend è abilitato per SNI.
-
Esegui il comando
openssle prova a connetterti al nome host del server pertinente (router Edge o server di backend) senza passare il nome del server, come mostrato di seguito:openssl s_client -connect hostname:port
-
Potresti ricevere i certificati e, a volte, potresti notare l'errore di handshake nel
opensslcomando, come mostrato di seguito:
CONNECTED(00000003) 9362:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:/BuildRoot/Library/Caches/com.apple.xbs/Sources/OpenSSL098/OpenSSL098-64.50.6/src/ssl/s23_clnt.c:593
-
Esegui il comando
openssle prova a connetterti al nome host del server pertinente (router Edge o server di backend) passando il nome del server come mostrato di seguito:openssl s_client -connect hostname:port -servername hostname
- Se ricevi un errore di handshake nel passaggio 1 o certificati diversi nel passaggio 1 e nel passaggio 2, significa che il server specificato è abilitato per SNI.
- Se vuoi verificare questa impostazione per più server di backend, devi ripetere i passaggi precedenti per ogni server di backend.
Se scopri di avere uno o più server di backend abilitati per SNI, devi abilitare SNI nel componente processore di messaggi come spiegato di seguito. In caso contrario, le richieste API che passano attraverso Apigee Edge non andranno a buon fine e si verificheranno errori di handshake TLS.
Abilitare SNI tra i Message Processor Edge e il server di backend
Questa sezione spiega come abilitare SNI tra il processore di messaggi Edge e il server di backend. SNI può essere abilitato tramite la proprietà jsse.enableSNIExtension nel componente processore di messaggi. Per configurare una proprietà nel processore di messaggi, utilizza
il token in base alla sintassi descritta in
Come configurare Edge.
Per abilitare SNI nei Message Processor:
Individua il token per la proprietà jsse.enableSNIExtension
I passaggi seguenti spiegano come individuare il token per la
jsse.enableSNIExtension proprietà:
-
Cerca la proprietà
jsse.enableSNIExtensionnella directory di origine del processore di messaggi/opt/apigee/edge-message-processor/sourceutilizzando il seguente comando:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
L'output di questo comando mostra il token per la proprietà
jsse.enableSNIExtensiondel Message Processor come segue:/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}Dove la stringa tra i tag
{T}{/T}è il nome del token che puoi impostare nel file.propertiesdel Message Processor.Pertanto, il token per la proprietà
jsse.enableSNIExtensionè il seguente:conf_system_jsse.enableSNIExtension
Abilitare SNI nel processore di messaggi
I passaggi seguenti spiegano come abilitare SNI nel componente processore di messaggi Apigee.
- Nella macchina processore di messaggi, apri il seguente file in un editor. Se non esiste già, crealo.
/opt/apigee/customer/application/message-processor.properties
Ad esempio, per aprire il file utilizzando
vi, inserisci il seguente comando:vi /opt/apigee/customer/application/message-processor.properties
-
Aggiungi una riga nel seguente formato al file delle proprietà:
conf_system_jsse.enableSNIExtension=true
- Salva le modifiche.
-
Assicurati che questo file delle proprietà sia di proprietà dell'utente
apigee, come mostrato di seguito:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Riavvia il processore di messaggi come mostrato di seguito:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Verifica che la configurazione SNI sia aggiornata nel processore di messaggi.
- Se hai più di un processore di messaggi, ripeti questi passaggi su tutti i processori di messaggi.
Disabilitare SNI tra i Message Processor Edge e il server di backend
In genere, non dovresti riscontrare problemi dopo aver abilitato SNI. Tuttavia, se riscontri problemi di connettività tra il processore di messaggi Edge e il server di backend dopo aver abilitato SNI, puoi sempre disabilitare SNI eseguendo i seguenti passaggi.
SNI può essere disabilitato impostando di nuovo la proprietà jsse.enableSNIExtension
su false nel componente processore di messaggi.
Disabilitare SNI nei Message Processor
I passaggi seguenti spiegano come disabilitare SNI nei Message Processor Apigee.
-
Nella macchina processore di messaggi, apri il seguente file in un editor. Se non esiste già, crealo.
/opt/apigee/customer/application/message-processor.properties
Ad esempio, per aprire il file utilizzando
vi, inserisci il seguente comando:vi /opt/apigee/customer/application/message-processor.properties
-
Se la riga
conf_system_jsse.enableSNIExtension=trueesiste in/opt/apigee/customer/application/message-processor.properties, modificala come segue:conf_system_jsse.enableSNIExtension=false
- Salva le modifiche.
-
Assicurati che questo file delle proprietà sia di proprietà dell'utente
apigee, come mostrato di seguito:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Riavvia il processore di messaggi come mostrato di seguito:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Verifica che la configurazione SNI sia aggiornata nel processore di messaggi.
- Se hai più di un processore di messaggi, ripeti i passaggi precedenti su tutti i processori di messaggi.
Verificare la configurazione SNI nei Message Processor
Questa sezione spiega come verificare che la configurazione SNI sia stata aggiornata correttamente nei Message Processor.
Anche se utilizzi il token conf_system_jsse.enableSNIExtension per
configurare SNI nel processore di messaggi, devi verificare che la proprietà effettiva
jsse.enableSNIExtension sia stata impostata con il nuovo valore.
-
Nella macchina processore di messaggi, cerca la proprietà
jsse.enableSNIExtensionnella directory/opt/apigee/edge-message-processor/confe verifica se è stata impostata con il nuovo valore, come mostrato di seguito:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
-
Se la configurazione SNI viene aggiornata correttamente nel processore di messaggi, il comando precedente mostra il nuovo valore nel file
system.properties.Il risultato di esempio del comando precedente dopo aver abilitato SNI nel processore di messaggi è il seguente:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
Analogamente, il risultato di esempio del comando precedente dopo aver disabilitato SNI nel processore di messaggi è il seguente:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
Nell'output di esempio riportato sopra, tieni presente che la proprietà
jsse.enableSNIExtensionè stata aggiornata al nuovo valoretrueofalseinsystem.properties. Ciò indica che SNI è stato abilitato o disabilitato correttamente nel processore di messaggi. -
Se continui a visualizzare il vecchio valore per la proprietà
jsse.enableSNIExtension, allora verifica di aver seguito tutti i passaggi descritti nella sezione appropriata per abilitare o disabilitare correttamente SNI. Se hai saltato un passaggio, ripeti correttamente tutti i passaggi. - Se non riesci ancora ad abilitare/disabilitare SNI , contatta l'assistenza di Apigee Edge.