Configura la SNI entre el procesador de mensajes perimetrales y el servidor de backend

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:

Antes de comenzar

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.

  1. 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
    
  2. 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
    
  3. 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
    
  4. 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.
  5. 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:

  1. Cómo ubicar el token de la propiedad jsse.enableSNIExtension
  2. 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:

  1. 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
    
  2. 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.

  1. 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
    
  2. Agrega una línea con el siguiente formato al archivo de propiedades:
    conf_system_jsse.enableSNIExtension=true
    
  3. Guarda los cambios.
  4. 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
    
  5. Reinicia Message Processor como se muestra a continuación:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Verifica que la configuración de SNI esté actualizada en el Message Processor.
  7. 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.

  1. 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
    
  2. 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
    
  3. Guarda los cambios.
  4. 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
    
  5. Reinicia Message Processor como se muestra a continuación:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Verifica que la configuración de SNI esté actualizada en el Message Processor.
  7. 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.

  1. 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
    
  2. 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 valor true o false en system.properties Indica que la SNI se habilitó correctamente o inhabilitado en el Message Processor.

  3. 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.
  4. Si aún no puedes habilitar/inhabilitar la SNI , comunícate con Asistencia de Apigee Edge.