我正在尝试使用request
模块进行https
调用,以下是当前现有选项
我有pfx
文件和password
。
strictSSL: false,
rejectUnauthorized: false,
agent: false
有人可以帮助我了解所有需要设置为 true 的内容,我是否需要导出cert
文件。
如果可能,请为此分享openssl
命令。
我尝试导出cert
并制作了strictSSL and rejectUnauthorized true
,但最终看到如下错误
message: 'Error: unable to verify the first certificate'
节点版本为6.9.2
您是否尝试通过设置process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'
@rpgeeganage这不是首选方式。
完整的错误堆栈
{ Error: unable to verify the first certificate
at Error (native)
at TLSSocket.<anonymous> (_tls_wrap.js:1085:38)
at emitNone (events.js:86:13)
at TLSSocket.emit (events.js:185:7)
at TLSSocket._finishInit (_tls_wrap.js:603:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38) code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' } 'error'
我也遇到过这个问题。 您是否找到解决方法@tomalex0 ?
这事有进一步更新吗?
我也遇到过这个问题。
要解决此问题,请禁用 SSL 证书必须有效并完全绕过的要求。 添加“strictSSL:false”,如下所示:
{
url: "https://...",
method: "POST",
headers: {
"Content-Type": "application/json"},
strictSSL: false
}
我的服务器位于专用网络中(无法访问 Internet),它应该在那里工作,我签署了证书并使用自己的 CA 信任它...即使添加 ca.pem 文件,我也会收到UNABLE_TO_VERIFY_LEAF_SIGNATURE
错误到 options.agentOptions.ca。 在不禁用 strictSSL 选项或任何其他不安全选项的情况下,我应该怎么做才能明显地修复此错误?
就我而言,我使用 LetsEncrypt 生成的 SSL 证书可以与节点 https 库或请求库一起正常工作。 但是,在端口 443 上使用相同的证书(在我系统的 Golang 组件中运行良好,在 Chrome 中运行良好)完全阻塞了 Node 的 https 库和请求库,两者都出现相同的错误。 我仍在试图了解这里出了什么问题,但至少在这种情况下,这些根 CA 黑客似乎不起作用。
此问题已自动标记为过时,因为它最近没有活动。 如果没有进一步的活动,它将被关闭。 感谢你的贡献。
没有人如此接近它并假装它从未发生过?
我的 URL 在所有浏览器上都可以正常工作,但不是“request.js”
我遇到了同样的错误。 通过将strictSSL标记为false来修复,下面的代码对我有用。
var client = new RestClient({
联系: {
pfx: fs.readFileSync(certFile),
密码:certPassword,
严格SSL:假,
拒绝未授权:假,
代理:假
}
});
我正在为我的 API 使用节点休息客户端架构。
希望这可以帮助任何寻找类似修复的人
试试这个:
var request = require("request").defaults({rejectUnauthorized:false});
最有用的评论
要解决此问题,请禁用 SSL 证书必须有效并完全绕过的要求。 添加“strictSSL:false”,如下所示: