Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
La funzione Server Name Indication (SNI) consente di gestire più server di backend HTTPS dallo stesso Indirizzo IP e porta senza richiedere ai server di backend di utilizzare lo stesso certificato TLS. È un'estensione del protocollo TLS. Quando SNI è abilitato su un client, quest'ultimo supera Il nome host del server di backend come parte dell'handshake TLS iniziale. Ciò consente Server TLS per determinare quale certificato TLS utilizzare per convalidare la richiesta dal di alto profilo.
Per impostazione predefinita, SNI è disabilitato nel componente Processore di messaggi in Edge per il Private Cloud per garantire la compatibilità con le versioni precedenti con i server di backend esistenti. Se il tuo server di backend configurato per supportare SNI, devi abilitare SNI sul componente Processore di messaggi. In caso contrario, le richieste API che passano attraverso Apigee Edge non andranno a buon fine con Errori di handshake TLS.
Questo documento spiega come:
- Identificare se un server di backend è abilitato o meno SNI
- Abilita SNI sui processori dei messaggi per comunicare con il backend che supportano SNI
- Disabilita SNI sui processori di messaggi, se necessario
- Verifica che la configurazione SNI sia stata aggiornata correttamente nella Processori di messaggi
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 SNI
Questa sezione descrive come identificare se un server di backend è abilitato o meno SNI.
-
Esegui il comando
openssl
e prova a connetterti al nome host del server pertinente (router Edge o server di backend) senza trasmettere il nome del server, come mostrato di seguito:openssl s_client -connect hostname:port
-
Potresti ricevere i certificati e a volte potresti notare un errore di handshake nel
Comando
openssl
, 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
openssl
e prova a connetterti al server pertinente nome host (router Edge o server di backend) trasmettendo 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 ottieni certificati diversi nei passaggi 1 e 2, questo indica che sul server specificato è abilitato SNI.
- Se vuoi verificare questa impostazione per più di un server di backend, devi eseguire ripeti i passaggi precedenti per ciascun server di backend.
Se scopri di avere uno o più server backend abilitati SNI, abilitare SNI sul componente Processore di messaggi come spiegato di seguito. In caso contrario, l'API tramite Apigee Edge non andranno a buon fine Errori di handshake TLS.
Abilita SNI tra i processori di messaggi Edge e il server di backend
Questa sezione spiega come abilitare SNI tra il processore di messaggi Edge e il backend
o server web. È possibile attivare SNI tramite la proprietà jsse.enableSNIExtension
su
il componente Processore di messaggi. Per configurare qualsiasi proprietà nel processore di messaggi, utilizza
il token in base alla sintassi descritta
Come configurare Edge.
Per abilitare SNI sui processori di messaggi, segui questi passaggi:
- Individuare il token per la proprietà jsse.enableSNIEstensione
- Abilita SNI sul processore di messaggi
Individua il token per la proprietà jsse.enableSNIExtension
I passaggi seguenti spiegano come individuare il token per
jsse.enableSNIExtension
proprietà:
-
Cerca la proprietà
jsse.enableSNIExtension
nell'origine del processore di messaggi directory/opt/apigee/edge-message-processor/source
utilizzando il seguente comando:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
L'output di questo comando mostra il token per la proprietà del processore di messaggi
jsse.enableSNIExtension
come segue:/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
In cui la stringa tra i tag
{T}{/T}
è il nome del token che che puoi impostare nel file.properties
del processore di messaggi.Di conseguenza, il token per la proprietà
jsse.enableSNIExtension
è il seguente:conf_system_jsse.enableSNIExtension
Abilita SNI sul processore di messaggi
I passaggi seguenti spiegano come abilitare SNI sul componente Processore di messaggi Apigee.
- Sul computer del processore di messaggi, apri il file seguente in un editor. In caso contrario
esiste già, quindi lo creeremo.
/opt/apigee/customer/application/message-processor.properties
Ad esempio, per aprire il file utilizzando
vi
, inserisci questo 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.
-
Verifica che questo file delle proprietà appartenga all'utente
apigee
, come illustrato 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 nella Processore di messaggi.
- Se utilizzi più di un processore di messaggi, ripeti questi passaggi su tutte le Processori di messaggi.
Disabilita SNI tra processori di messaggi Edge e server di backend
In genere, non si verificano problemi dopo aver abilitato SNI. Tuttavia, se noti problemi di connettività tra il processore di messaggi Edge e il server di backend dopo attivando SNI, puoi sempre disabilitarlo seguendo questi passaggi.
La funzione SNI può essere disattivata impostando la proprietà jsse.enableSNIExtension
torna a false
sul componente Processore di messaggi.
Disattiva SNI sui processori di messaggi
I passaggi seguenti spiegano come disabilitare SNI sui processori di messaggi Apigee.
-
Sul computer del processore di messaggi, apri il file seguente in un editor. In caso contrario
esiste già, quindi lo creeremo.
/opt/apigee/customer/application/message-processor.properties
Ad esempio, per aprire il file utilizzando
vi
, inserisci questo comando:vi /opt/apigee/customer/application/message-processor.properties
-
Se la riga
conf_system_jsse.enableSNIExtension=true
esiste in/opt/apigee/customer/application/message-processor.properties
, quindi modificala come che segue:conf_system_jsse.enableSNIExtension=false
- Salva le modifiche.
-
Verifica che questo file delle proprietà appartenga all'utente
apigee
, come illustrato 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 nella Processore di messaggi.
- Se utilizzi più di un processore di messaggi, ripeti i passaggi precedenti su tutte Processori di messaggi.
Verifica della configurazione SNI nei processori di messaggi
Questa sezione spiega come verificare che la configurazione SNI sia stata sono aggiornate sui processori di messaggi.
Anche se utilizzi il token conf_system_jsse.enableSNIExtension
per
SNI sul processore di messaggi, devi verificare che la proprietà effettiva
jsse.enableSNIExtension
è stato impostato con il nuovo valore.
-
Sul computer dell'elaboratore di messaggi, cerca la proprietà
jsse.enableSNIExtension
nella directory/opt/apigee/edge-message-processor/conf
e controlla se è sia stato impostato 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 sul processore di messaggi,
riportato sopra mostra il nuovo valore nel file
system.properties
.Il risultato di esempio del comando precedente dopo aver abilitato SNI sul 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 sulla Il processore di messaggi è il seguente:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
Nell'output di esempio precedente, nota che la proprietà
jsse.enableSNIExtension
è stato aggiornato al nuovo valoretrue
ofalse
insystem.properties
. Questo indica che SNI è stato abilitato correttamente è disabilitata nel processore di messaggi. -
Se visualizzi ancora il valore precedente per la proprietà
jsse.enableSNIExtension
, verificare di aver seguito tutti i passaggi descritti nella sezione appropriata per attivare o disabilitare SNI correttamente. Se hai saltato qualche passaggio, ripeti tutti i passaggi correttamente. - Se non riesci ancora ad attivare/disattivare SNI , contatta Assistenza Apigee Edge.