gpt4 book ai didi

Node.js HTTPS 400 错误 - 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'

转载 作者:IT老高 更新时间:2023-10-28 23:25:05 29 4
gpt4 key购买 nike

我正在编写一个 Node.js 应用程序,它必须从我们的一个内部 API 请求一些数据。棘手的部分是我从中请求数据的服务器有一定的限制:

  • 请求必须使用 HTTPS 协议(protocol)(不是 HTTP)
  • 请求必须使用 LAN IP 地址,因为该域名在内部不起作用
  • 请求必须看起来像是从外部域名请求的,因为虚拟主机就是为此设置的。

为了做到这一点,我正在运行一些如下所示的代码:

var headers = {
Host: externalHostname,
Hostname: externalHostname,
};

var options = {
host: InternalIP,
path: path,
method: 'GET',
headers: headers
};

var req = https.request(options, function(res) {
res.setEncoding('utf8');

var data = "";

res.on('data', function(chunk) {
data += chunk;
});

res.on('end', function() {
//Do something with that data
});

res.on('error', function(err) {
console.log("Error during HTTP request");
console.log(err);
});
});

req.end();

很遗憾,我收到了 400(您的浏览器发送了此服务器无法理解的请求)错误作为响应。我反复检查了主机名、IP 地址和路径名是否正确(我可以在浏览器中对其进行测试,一切都很好)。

我输出了我的响应变量 (res),并收到了 UNABLE_TO_VERIFY_LEAF_SIGNATURE 的授权错误值。我不确定那是什么,或者是否是我的问题,但这是我能找到的唯一有用的信息。

我把我的响应变量的完整输出 here .

有什么可能导致这种情况的想法吗?

更新:我想通了!我试图通过传递 ?PHPSESSID=asdad GET 变量来向服务器进行身份验证,但他们已禁用该变量。我可以通过在 Cookie header 中设置 PHPSESSID 来使其工作。

最佳答案

设置这个 process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';

关于Node.js HTTPS 400 错误 - 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9440166/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com