Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
La indicación del nombre del servidor (SNI) permite que se entreguen múltiples servidores de backend HTTPS desde el mismo dirección IP y puerto sin la necesidad de que esos servidores de backend usen el mismo certificado TLS. Es una extensión del protocolo TLS. Cuando la SNI está habilitada en un cliente, el cliente pasa el nombre de host del servidor de backend como parte del protocolo de enlace TLS inicial. Esto permite que las servidor TLS para determinar qué certificado TLS debe usarse para validar la solicitud desde cliente.
De forma predeterminada, SNI está inhabilitada en el componente Message Processor en Edge para la nube privada. para garantizar la retrocompatibilidad con los servidores backend existentes. Si tu servidor de backend está para admitir SNI, debes habilitar la SNI en el componente Message Processor. De lo contrario, las solicitudes a la API que pasen por Apigee Edge fallarán con Fallas del protocolo de enlace TLS.
En este documento, se explica cómo hacer lo siguiente:
- Identifica si un servidor de backend está habilitado para SNI
- Habilita la SNI en los procesadores de mensajes para comunicarse con el backend. servidores compatibles con SNI
- Si es necesario, inhabilita la SNI en los procesadores de mensajes.
- Verifica que la configuración de SNI se haya actualizado correctamente en el Procesadores de mensajes
Antes de comenzar
- Si no conoces SNI, lee lo siguiente: Usa SNI con Edge.
- Si desconoces la configuración de Edge en la nube privada, lee Cómo configurar Edge.
Identificación del servidor habilitado para SNI
En esta sección, se describe cómo identificar si un servidor de backend está habilitado para SNI.
-
Ejecuta el comando
openssl
y, luego, intenta conectarte con el nombre de host del servidor correspondiente. (Router perimetral o servidor de backend) sin pasar el nombre del servidor, como se muestra a continuación:openssl s_client -connect hostname:port
-
Puedes obtener los certificados y, a veces, observar la falla del protocolo de enlace en la
openssl
, como se muestra a continuación:
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
-
Ejecuta el comando
openssl
y, luego, intenta conectarte al servidor relevante. nombre de host (router perimetral o servidor de backend) pasa el nombre del servidor como se muestra a continuación:openssl s_client -connect hostname:port -servername hostname
- Si recibes una falla del protocolo de enlace en el paso 1 u obtienes certificados diferentes en los pasos 1 y 2, indica que el servidor especificado tiene habilitada la SNI.
- Si deseas verificar esto para más de un servidor de backend, entonces debes repetir los pasos anteriores para cada servidor de backend.
Si descubres que uno o más servidores de backend están habilitados para SNI, entonces debes habilita SNI en el componente Message Processor como se explica a continuación. De lo contrario, la API que pasan por Apigee Edge fallarán Fallas del protocolo de enlace TLS.
Habilita la SNI entre los procesadores de mensajes de Edge y el servidor de backend
En esta sección, se explica cómo habilitar la SNI entre el procesador de mensajes perimetrales y el backend
servidor. SNI puede habilitarse a través de la propiedad jsse.enableSNIExtension
en
el componente Message Processor. Para configurar cualquier propiedad del Message Processor,
el token de acuerdo con la sintaxis descrita en
Cómo configurar Edge.
Para habilitar la SNI en los procesadores de mensajes, realiza los siguientes pasos:
- Cómo ubicar el token de la propiedad jsse.enableSNIExtension
- Habilita la SNI en el procesador de mensajes
Ubicar el token de la propiedad jsse.enableSNIExtension
En los siguientes pasos, se describe cómo ubicar el token del
Propiedad jsse.enableSNIExtension
:
-
Busca la propiedad
jsse.enableSNIExtension
en la fuente de Message Processor directorio/opt/apigee/edge-message-processor/source
con el siguiente comando:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
-
El resultado de este comando muestra el token de la propiedad de Message Processor.
jsse.enableSNIExtension
de la siguiente manera:/opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
Donde la cadena entre las etiquetas
{T}{/T}
es el nombre del token que puedes configurar en el archivo.properties
de Message Processor.Por lo tanto, el token para la propiedad
jsse.enableSNIExtension
es el siguiente:conf_system_jsse.enableSNIExtension
Habilita SNI en Message Processor
En los siguientes pasos, se describe cómo habilitar SNI en el componente Apigee Message Processor.
- En la máquina del procesador de mensajes, abre el siguiente archivo en un editor. Si no
ya existen, entonces la crearás.
/opt/apigee/customer/application/message-processor.properties
Por ejemplo, para abrir el archivo con
vi
, ingresa el siguiente comando:vi /opt/apigee/customer/application/message-processor.properties
-
Agrega una línea con el siguiente formato al archivo de propiedades:
conf_system_jsse.enableSNIExtension=true
- Guarda los cambios.
-
Asegúrate de que este archivo de propiedades sea propiedad del usuario de
apigee
, como se muestra a continuación:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Reinicia Message Processor como se muestra a continuación:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Verifica que la configuración de SNI esté actualizada en el Message Processor.
- Si tienes más de un Message Processor, repite los pasos anteriores en todos Procesadores de mensajes.
Inhabilita la SNI entre los procesadores de mensajes de Edge y el servidor de backend
Por lo general, no deberías ver ningún problema después de habilitar la SNI. Sin embargo, si observas problemas de conectividad entre el procesador de mensajes de Edge y el servidor de backend después de Si habilitas la SNI, siempre podrás inhabilitarla con los siguientes pasos:
La SNI se puede inhabilitar configurando la propiedad jsse.enableSNIExtension
.
vuelve a false
en el componente Message Processor.
Inhabilita SNI en Message Processors
En los siguientes pasos, se describe cómo inhabilitar la SNI en los procesadores de mensajes de Apigee.
-
En la máquina del procesador de mensajes, abre el siguiente archivo en un editor. Si no
ya existen, entonces la crearás.
/opt/apigee/customer/application/message-processor.properties
Por ejemplo, para abrir el archivo con
vi
, ingresa el siguiente comando:vi /opt/apigee/customer/application/message-processor.properties
-
Si la línea
conf_system_jsse.enableSNIExtension=true
existe en/opt/apigee/customer/application/message-processor.properties
, luego modifícalo como sigue:conf_system_jsse.enableSNIExtension=false
- Guarda los cambios.
-
Asegúrate de que este archivo de propiedades sea propiedad del usuario de
apigee
, como se muestra a continuación:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
Reinicia Message Processor como se muestra a continuación:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Verifica que la configuración de SNI esté actualizada en el Message Processor.
- Si tienes más de un Message Processor, repite los pasos anteriores en todos Procesadores de mensajes.
Cómo verificar la configuración de SNI en los procesadores de mensajes
En esta sección, se explica cómo verificar que la configuración de SNI se haya ejecutado de forma correcta. de los procesadores de mensajes.
Si bien usas el token conf_system_jsse.enableSNIExtension
para
configura SNI en Message Processor, debes verificar que la propiedad real
Se estableció jsse.enableSNIExtension
con el valor nuevo.
-
En la máquina del procesador de mensajes, busca la propiedad
jsse.enableSNIExtension
. en el directorio/opt/apigee/edge-message-processor/conf
y comprueba si con el valor nuevo, como se muestra a continuación:grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
-
Si la configuración de SNI se actualiza correctamente en Message Processor, el
anterior muestra el valor nuevo en el archivo
system.properties
.Resultado de muestra del comando anterior después de haber habilitado SNI en Message Processor es la siguiente:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
De manera similar, el resultado de muestra del comando anterior después de inhabilitar SNI en la Message Processor funciona de la siguiente manera:
/opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
En el resultado de ejemplo anterior, ten en cuenta que la propiedad
jsse.enableSNIExtension
se actualizó al nuevo valortrue
ofalse
ensystem.properties
Indica que la SNI se habilitó correctamente o inhabilitado en el Message Processor. -
Si sigues viendo el valor anterior de la propiedad
jsse.enableSNIExtension
, Verifica que hayas seguido todos los pasos descritos en la sección correspondiente para habilitar o inhabilitar SNI correctamente. Si omitiste algún paso, vuelve a repetirlo correctamente. - Si aún no puedes habilitar/inhabilitar la SNI , comunícate con Asistencia de Apigee Edge.