J'ai une application js node exécutée en tant que service mobile sur Azure AMS. J'ai employé la bibliothèque de demande pour faire les appels de HTTPS get/post api à un serveur externe. Tout fonctionne très bien jusqu'à il y a quelques jours lorsque l'entité externe a décidé de ne plus prendre en charge TLS 1.0 et les versions suivantes. Je me demandais si quelqu'un connaît des problèmes connus d'Azure AMS bloquant/échouant les communications TLS 1.1/1.2 avec des hôtes externes? Cet hôte utilise un certificat SSL valide émis par DigiCert.L'application js du nœud Azure AMS ne parvient pas à établir une connexion TLS 1.2.
A l'intérieur de mon code, j'ai déjà essayé quelques choses pour dire explicitement à nodejs d'utiliser TLS 1.1/1.2 mais cela n'a pas fonctionné.
var httpRequest = require("request"),
https = require('https');
https.globalAgent.options.secureProtocol = 'TLSv1_2_method'; // Instructing to use TLS 1.2
....
httpRequest.post('https://external-api-url.com', {
'json': true,
'body': params,
'timeout': 20000,
'jar': false,
'headers': {
"Arr-Disable-Session-Affinity": true
}
}, function(err, response, body) {
// Code to handle response.
});
En plus globalAgent, j'ai essayé aussi la mise en secureProtocol de agentOptions ainsi que directement dans les options objet. Aucune des approches n'a fonctionné.
Toute aide sera grandement appréciée.
Merci.
Je n'ai jamais utilisé TLS 1.2 sur un nœud mais sur ASP.NET WebAPI récemment. Ce que je sais, si vous voulez utiliser TLS 1.2 vous avez besoin 1) Win 08R2 ou plus tard. 2) Mettre à jour les clés de registre 'HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Contrôle \ SecurityProviders \ SCHANNEL \ Protocols', ajouter' TLS 1.1 \ Client' 'TLS 1.1 \ Server'' TLS 1.2 \ Client' 'TLS 1.2 \ Server' avec les clés' Activé = 0x01' et 'DisabledByDefault = 0x00'. Peut-être que vous pouvez essayer. –