ошибка https nodejs: сокет зависает с localhost
у меня есть этот небольшой фрагмент кода, который нацелен на конечную точку, размещенную на localhost
var https = require('https');
var options = {
hostname: 'localhost',
port: 443,
path: '/',
method: 'GET',
agent: false
};
var req = https.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.end();
req.on('error', function(e) {
console.error(e);
});
и я всегда получаю ошибку:
{[ошибка: socket hang up] код: 'ECONNRESET', sslError: undefined }
Кажется, что запрос даже не получен конечной точкой, потому что он не захвачен ею, и нет тайм-аута.
Если я попробую запрос, такой как https: / / localhost из браузера, он отправляется успешно.
Если я просто изменю хост в коде на что-то вроде encrypted.google.com, он работает успешно также.
кто-нибудь знает, почему это может произойти ?
редактировать: я также попытался добавить те же заголовки, отправленные браузером, как accept, user-agent .. etc, но все еще не работает
Edit2: это трассировка стека, которая появилась когда я вошел он:
Error: socket hang up
at SecurePair.error (tls.js:1013:23)
at EncryptedStream.CryptoStream._done (tls.js:705:22)
at CleartextStream.read [as _read] (tls.js:496:24)
at CleartextStream.Readable.read (_stream_readable.js:320:10)
at EncryptedStream.onCryptoStreamFinish (tls.js:301:47)
at EncryptedStream.g (events.js:180:16)
at EncryptedStream.EventEmitter.emit (events.js:117:20)
at finishMaybe (_stream_writable.js:360:12)
at endWritable (_stream_writable.js:367:3)
at EncryptedStream.Writable.end (_stream_writable.js:345:5)
1 ответов
ECONNRESET
означает, что TCP-соединение было неожиданно закрыто, то есть. где-то в середине протокола.
но код, который вы написали, кажется мне нормальным.
возможно, вы столкнулись с этой проблемой https://github.com/joyent/node/issues/5360
TL; DR: вы можете попробовать с последней версией узла и secureOptions: constants.SSL_OP_NO_TLSv1_2
добавил в свой options
.
обновление SSLv3 является сломанной, https://access.redhat.com/articles/1232123 ; может быть, канава ИСС?