Node.js Nodejs请求未捕获错误:针对端口443写入EPROTO

Node.js Nodejs请求未捕获错误:针对端口443写入EPROTO,node.js,request,Node.js,Request,我得到了错误uncaughterror:当试图通过端口443上的nodejs请求模块使用我的API时,写入EPROTO。如果我将端口更改为非443端口,并通过浏览器和curl对端口443上的应用程序发出请求,则该功能可以正常工作 为什么我会得到EPROTO,我该如何修复它以使我的自动测试再次工作 如果需要代码,它只是一个https服务器,有一个简单的请求: var server = https.createServer ({secureProtocol: 'TLSv1_2_method',

我得到了错误uncaughterror:当试图通过端口443上的nodejs请求模块使用我的API时,写入EPROTO。如果我将端口更改为非443端口,并通过浏览器和curl对端口443上的应用程序发出请求,则该功能可以正常工作

为什么我会得到EPROTO,我该如何修复它以使我的自动测试再次工作

如果需要代码,它只是一个https服务器,有一个简单的请求:

var server = https.createServer ({secureProtocol: 'TLSv1_2_method',
        key  : fs.readFileSync('key'),
        cert : fs.readFileSync('cert'),
        ca: [
            fs.readFileSync('othercert')
        ]
    }, app);
var request = require('request');
var basepath = "https://localhost";

var req_opts = {
    method: "POST",
    uri: basepath + '/myroute',
    body: {
    },
    rejectUnauthorized: false,
    json: true
}

request(req_opts, function(err, response, body){
    if(err){
        console.log(err);
        throw(err);
    }
    console.log(body);
});
还有一个简单的请求:

var server = https.createServer ({secureProtocol: 'TLSv1_2_method',
        key  : fs.readFileSync('key'),
        cert : fs.readFileSync('cert'),
        ca: [
            fs.readFileSync('othercert')
        ]
    }, app);
var request = require('request');
var basepath = "https://localhost";

var req_opts = {
    method: "POST",
    uri: basepath + '/myroute',
    body: {
    },
    rejectUnauthorized: false,
    json: true
}

request(req_opts, function(err, response, body){
    if(err){
        console.log(err);
        throw(err);
    }
    console.log(body);
});
这只发生在我的本地windows机器上,而不是在远程ubuntu服务器上。两者都有节点版本4.2.3


搜索该请求看起来可能无法协商密码,但如果不是在端口443上,为什么它会成功?

Skype也在本地侦听端口443,这就是为什么会发生这种情况。

请向我们显示生成此错误的代码。请使用问题的编辑链接添加其他信息。回答后按钮只能用于完整回答问题。-这是对这个问题的回答。请求未能连接到skype,而不是nodejs应用程序。