我有一个在AWS的Node 8.11.1上运行的系统。有一个功能可以将日志写入另一台服务器。此函数接受一个记录的请求对象。
我的问题在实际的POST尝试期间出现,给我以下错误:
错误:编写EPROTO 139746875082624:错误:140770FC:SSL例程:SSL23_GET_SERVER_HELLO:未知协议:../ deps / openssl / openssl / ssl / s23 / clnt.c:827:
我的代码看不到任何问题。
为什么会发生错误,该如何解决?
这是函数内部的代码:
const https = require('https');
try
{
const postData = "New log finished " + JSON.stringify(request, null, 2);
const options =
{
hostname: LOG_DOMAIN,
port: LOG_PORT,
path: '/',
method: 'POST'
};
const req = https.request(options);
req.on('error', (e) =>
{
console.error("ERROR writing logs: " + e);
});
req.write(postData);
req.end();
}
catch (e)
{
console.log(e);
}
LOG_DOMAIN和LOG_PORT是传递给函数的变量。
答案 0 :(得分:0)
经过进一步研究,看来Aravind Voggu(请参阅注释)是正确的:错误来自尝试将HTTPS用于仅允许HTTP的服务器。
当尝试保护与不安全对象的连接时,OpenSSL消失。
要使我的代码正常工作,唯一需要做的更改就是从所使用位置的“ https”中删除“ s”。
ids = input().split()
N = len(ids)