<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
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 :
- Déterminer si un serveur backend est activé pour l'extension SNI
- Activer SNI sur les processeurs de messages afin de communiquer avec le backend serveurs compatibles avec SNI
- Désactivez l'extension SNI sur les processeurs de messages si nécessaire
- Vérifiez que la configuration SNI a bien été mise à jour sur le Processeurs de messages
Avant de commencer
- Si vous ne connaissez pas bien SNI, consultez la page Utiliser SNI avec Edge
- Si vous ne savez pas configurer Edge sur Private Cloud, consultez Comment configurer Edge.
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.
-
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
-
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
-
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
- 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.
- 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.
Pour activer l'extension SNI sur les processeurs de messages, procédez comme suit:
- Localiser le jeton pour la propriété jsse.enableSNIExtension
- 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
:
-
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
-
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.
- 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
-
Ajoutez une ligne au format suivant au fichier de propriétés:
conf_system_jsse.enableSNIExtension=true
- Enregistrez les modifications.
-
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
-
Redémarrez le processeur de messages comme indiqué ci-dessous:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Vérifiez que la configuration SNI est à jour sur le Processeur de messages.
- 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.
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.
-
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
-
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
- Enregistrez les modifications.
-
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
-
Redémarrez le processeur de messages comme indiqué ci-dessous:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- Vérifiez que la configuration SNI est à jour sur le Processeur de messages.
- 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.
-
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
-
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 valeurtrue
oufalse
danssystem.properties
Cela indique que la SNI est activée avec succès ou désactivé sur le processeur de messages. -
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. - Si vous ne parvenez toujours pas à activer/désactiver l'extension SNI , contactez Assistance Apigee Edge