У меня есть приложение node js, работающее как мобильная служба в Azure AMS. Я использую библиотеку запросов для выполнения HTTPS-запросов get / post api на внешний сервер. Раньше все работало нормально до тех пор, пока несколько дней назад внешний объект не решил прекратить поддержку TLS 1.0 и ниже.
Мне было интересно, знает ли кто-нибудь об известных проблемах блокировки / сбоя связи TLS 1.1 / 1.2 с внешними узлами в Azure AMS? Этот хост использует действующий сертификат SSL, выданный DigiCert.
Внутри моего кода я уже пробовал несколько вещей, чтобы явно указать nodejs использовать TLS 1.1 / 1.2, но это не сработало.
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.
});
Помимо globalAgent, я также попытался установить secureProtocol из agentOptions, а также непосредственно из объекта параметров. Ни один из подходов не сработал.
Любая помощь будет оценена.
Спасибо.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
, добавьтеTLS 1.1\Client
TLS 1.1\Server
TLS 1.2\Client
TLS 1.2\Server
с ключамиEnabled = 0x01
иDisabledByDefault = 0x00
. Может, ты попробуешь. - person Shaun Xu   schedule 10.09.2015