当前位置: 首页 > 面试题库 >

使用https.request忽略node.js中无效的自签名ssl证书吗?

柯琛
2023-03-14
问题内容

我正在开发一个登录到本地无线路由器(Linksys)的小应用程序,但是我遇到了路由器的自签名ssl证书问题。

我运行wget 192.168.1.1并得到:

ERROR: cannot verify 192.168.1.1's certificate, issued by `/C=US/ST=California/L=Irvine/O=Cisco-Linksys, LLC/OU=Division/CN=Linksys/emailAddress=support@linksys.com':
Self-signed certificate encountered.
ERROR: certificate common name `Linksys' doesn't match requested host name `192.168.1.1'.
To connect to 192.168.1.1 insecurely, use `--no-check-certificate'.

在节点中,捕获的错误是:

{ [Error: socket hang up] code: 'ECONNRESET' }

我当前的示例代码是:

var req = https.request({ 
    host: '192.168.1.1', 
    port: 443,
    path: '/',
    method: 'GET'

}, function(res){

    var body = [];
    res.on('data', function(data){
        body.push(data);
    });

    res.on('end', function(){
        console.log( body.join('') );
    });

});
req.end();

req.on('error', function(err){
    console.log(err);
});

我如何才能使node.js等效于“ –no-check-certificate”?


问题答案:

便宜又不安全的答案:

process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;

在代码中,调用之前 https.request()

在此问题中回答了一种更安全的方法(上述解决方案使整个节点过程不安全)



 类似资料:
  • 我当前的示例代码是: 我如何让node.js执行“--no-check-certificate”的等效操作?

  • 问题内容: 我正在使用Jersey客户端库针对在jboss上运行的rest服务运行测试。我使用自签名证书在服务器(在本地主机上运行)上设置了https。 但是,每当我使用https url运行测试时,都会出现以下错误: 我知道这是因为我的自签名证书不在Java密钥库中。有什么办法可以让我不检查ssl证书的有效性,而直接使用它呢? 这段代码只能在测试服务器上运行,因此,我不想在每次设置新的测试服务器

  • 问题内容: 我正在尝试 接受所有证书,和/或 使用 Apache HTTPClient 4.5版 接受自签名证书 (此处为教程链接) 我一直在从SO上的大量帖子中寻找解决此问题的方法。到目前为止,它们都没有起作用。 我不断收到此错误: Apache文件: Apache v4.5教程 SSL / TLS定制 Apache有版本3 的指南,但没有版本4的指南。 请注意,在所有这些示例中,我还传递了我之

  • null 忽略Apache HttpClient 4.3中的SSL证书 如何忽略Apache HttpClient 4.0中的SSL证书错误 使用Java忽略SSL证书错误 在使用Spring进行开发时需要信任所有证书 如何使用Apache HttpClient处理无效的SSL证书? 请注意,在所有这些示例中,我还传递了一个cookie存储区和一个我前面定义的代理凭据提供者。这些是工作的,我只是试

  • 使用`openssl x509-in cert.pem-noout-text查看证书会得到以下结果: 我知道有一些解决方法,包括禁用证书检查(或者只在本地的普通HTTP上运行API),但我真的很好奇,也很困惑为什么它不能在HTTPS上工作。非常感谢任何帮助。

  • 我最近升级了Inteliij IDEA 2019.2,如果我尝试从IDE中提取Git,我会发现以下错误:无法访问'https://github.xxx.com/app-Hello-USD/DGS.git/“:SSL证书问题:证书链中的自签名证书。 有人能帮我什么选项,我必须启用。 谢谢