Configuration de la SNI entre Edge Message Processor et le serveur backend

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

<ph type="x-smartling-placeholder">

L'indication du nom du serveur (SNI, Server Name Indication) permet de diffuser plusieurs serveurs backend HTTPS adresse IP et port sans que ces serveurs backend n'utilisent le même certificat TLS. Il s'agit d'une extension du protocole TLS. Lorsque la SNI est activée sur un client, ce dernier transmet le nom d'hôte du serveur backend dans le cadre du handshake TLS initial. Cela permet au afin de déterminer quel certificat TLS doit être utilisé pour valider la requête à partir du client.

Par défaut, l'extension SNI est désactivée sur le composant de processeur de messages dans Edge pour le cloud privé pour garantir la rétrocompatibilité avec les serveurs backend existants. Si votre serveur backend est configuré pour prendre en charge l'extension SNI, vous devez activer la SNI sur le composant de processeur de messages. Sinon, les requêtes API passant par Apigee Edge échoueront avec Échecs de handshake TLS.

Ce document explique comment effectuer les opérations suivantes :

Avant de commencer

Identification du serveur compatible avec l'extension SNI

Cette section explique comment déterminer si l'extension SNI est activée sur un serveur backend.

  1. Exécutez la commande openssl et essayez de vous connecter au nom d'hôte de serveur approprié. (Edge Router ou serveur backend) sans transmettre le nom du serveur, comme indiqué ci-dessous:
    openssl s_client -connect hostname:port
    
  2. Vous pouvez obtenir les certificats et parfois observer l'échec de la poignée de main dans le openssl, comme indiqué ci-dessous:
    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. Exécutez la commande openssl et essayez de vous connecter au serveur approprié. (routeur Edge ou serveur backend) en transmettant le nom du serveur comme indiqué ci-dessous:
    openssl s_client -connect hostname:port -servername hostname
    
  4. Si vous obtenez un échec de handshake à l'étape 1 ou si vous obtenez des certificats différents aux étapes 1 et 2, puis il indique que le serveur spécifié est activé SNI.
  5. Si vous souhaitez vérifier cela pour plusieurs serveurs backend, vous devez répétez les étapes ci-dessus pour chaque serveur backend.

Si l'extension SNI est activée sur un ou plusieurs serveurs backend, vous devez activer SNI sur le composant de processeur de messages, comme expliqué ci-dessous. Sinon, l'API les requêtes passant par Apigee Edge échouent avec Échecs de handshake TLS.

Activer la SNI entre les processeurs de messages Edge et le serveur backend

Cette section explique comment activer l'extension SNI entre le processeur de messages Edge et le backend Google Cloud. L'extension SNI peut être activée via la propriété jsse.enableSNIExtension sur le composant de processeur de messages. Pour configurer une propriété sur le processeur de messages, utilisez le jeton conformément à la syntaxe décrite dans la section Comment configurer Edge.

<ph type="x-smartling-placeholder">

Pour activer l'extension SNI sur les processeurs de messages, procédez comme suit:

  1. Localiser le jeton pour la propriété jsse.enableSNIExtension
  2. Activer SNI sur le processeur de messages

Localiser le jeton pour la propriété jsse.enableSNIExtension

Les étapes suivantes décrivent comment localiser le jeton Propriété jsse.enableSNIExtension:

  1. Rechercher la propriété jsse.enableSNIExtension dans la source du processeur de messages /opt/apigee/edge-message-processor/source à l'aide de la commande suivante:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/source
    
  2. Le résultat de cette commande affiche le jeton de la propriété du processeur de messages. jsse.enableSNIExtension comme suit:
    /opt/apigee/edge-message-processor/source/conf/system.properties:jsse.enableSNIExtension={T}conf_system_jsse.enableSNIExtension{/T}
    

    Où la chaîne entre les balises {T}{/T} correspond au nom du jeton que que vous pouvez définir dans le fichier .properties du processeur de messages.

    Ainsi, le jeton de la propriété jsse.enableSNIExtension se présente comme suit:

    conf_system_jsse.enableSNIExtension
    

Activer SNI sur le processeur de messages

Les étapes suivantes décrivent comment activer l'extension SNI sur le composant de processeur de messages Apigee.

  1. Sur le processeur de messages, ouvrez le fichier suivant dans un éditeur. Si ce n'est pas le cas existent déjà, alors créez-les.
    /opt/apigee/customer/application/message-processor.properties
    

    Par exemple, pour ouvrir le fichier en utilisant vi, saisissez la commande suivante:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Ajoutez une ligne au format suivant au fichier de propriétés:
    conf_system_jsse.enableSNIExtension=true
    
  3. Enregistrez les modifications.
  4. Assurez-vous que ce fichier de propriétés appartient à l'utilisateur apigee, comme indiqué ci-dessous:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Redémarrez le processeur de messages comme indiqué ci-dessous:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Vérifiez que la configuration SNI est à jour sur le Processeur de messages.
  7. Si vous disposez de plusieurs processeurs de messages, répétez les étapes ci-dessus sur tous les Processeurs de messages.

Désactiver l'extension SNI entre les processeurs de messages Edge et le serveur backend

En règle générale, vous ne devriez rencontrer aucun problème après l'activation de la SNI. Toutefois, si vous observez tout problème de connectivité entre Edge Message Processor et le serveur backend après vous pouvez toujours désactiver la SNI en procédant comme suit.

Vous pouvez désactiver l'extension SNI en définissant la propriété jsse.enableSNIExtension à false sur le composant de processeur de messages.

<ph type="x-smartling-placeholder">

Désactiver SNI sur les processeurs de messages

Les étapes suivantes décrivent comment désactiver l'extension SNI sur les processeurs de messages Apigee.

  1. Sur le processeur de messages, ouvrez le fichier suivant dans un éditeur. Si ce n'est pas le cas existent déjà, alors créez-les.
    /opt/apigee/customer/application/message-processor.properties
    

    Par exemple, pour ouvrir le fichier en utilisant vi, saisissez la commande suivante:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. Si la ligne conf_system_jsse.enableSNIExtension=true existe dans /opt/apigee/customer/application/message-processor.properties, puis modifiez-la en tant que ce qui suit:
    conf_system_jsse.enableSNIExtension=false
    
  3. Enregistrez les modifications.
  4. Assurez-vous que ce fichier de propriétés appartient à l'utilisateur apigee, comme indiqué ci-dessous:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. Redémarrez le processeur de messages comme indiqué ci-dessous:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. Vérifiez que la configuration SNI est à jour sur le Processeur de messages.
  7. Si vous disposez de plusieurs processeurs de messages, répétez les étapes ci-dessus sur tous les Processeurs de messages.

Vérification de la configuration SNI sur les processeurs de messages

Cette section explique comment vérifier que la configuration SNI a bien été effectuée mis à jour sur les processeurs de messages.

Même si vous utilisez le jeton conf_system_jsse.enableSNIExtension pour configuration SNI sur le processeur de messages, vous devez vérifier que la propriété réelle jsse.enableSNIExtension a été défini avec la nouvelle valeur.

  1. Sur le processeur de messages, recherchez la propriété jsse.enableSNIExtension. dans le répertoire /opt/apigee/edge-message-processor/conf et vérifiez s'il a a été définie avec la nouvelle valeur, comme indiqué ci-dessous:
    grep -ri "jsse.enableSNIExtension" /opt/apigee/edge-message-processor/conf
    
  2. Si la configuration SNI est correctement mise à jour sur le processeur de messages, alors le ci-dessus affiche la nouvelle valeur dans le fichier system.properties.

    Exemple de résultat de la commande ci-dessus après l'activation de l'extension SNI sur le processeur de messages se présente comme suit:

    /opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=true
    

    De même, l'exemple de résultat de la commande ci-dessus après avoir désactivé SNI sur le Le processeur de messages se présente comme suit:

    /opt/apigee/edge-message-processor/conf/system.properties:jsse.enableSNIExtension=false
    

    Dans l'exemple de résultat ci-dessus, notez que la propriété jsse.enableSNIExtension a été mis à jour avec la nouvelle valeur true ou false dans system.properties Cela indique que la SNI est activée avec succès ou désactivé sur le processeur de messages.

  3. Si l'ancienne valeur de la propriété jsse.enableSNIExtension s'affiche toujours, alors vérifiez que vous avez suivi toutes les étapes décrites dans la section appropriée pour activer ou désactiver correctement l'extension SNI. Si vous avez manqué une étape, répétez toutes les étapes correctement.
  4. Si vous ne parvenez toujours pas à activer/désactiver l'extension SNI , contactez Assistance Apigee Edge