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

Node.js主机名/ IP与证书的altname不匹配

陈法
2023-03-14
问题内容

我有代码:

var r = require('request');
r({
  method: 'POST',
  url: 'https://api.dropbox.com'},
  function() { console.log(arguments)  } )

当我在带有Node 0.9.4的桌面上运行它时,我在控制台中得到了这个:

{ '0': [Error: Hostname/IP doesn't match certificate's altnames] }

当我在带有节点0.6.12的Netbook上运行它时,它们都可以正常运行而没有错误(302响应-我认为是正确的)。

有问题的Node.js主机名/
IP与证书的altnames不匹配
,Rojuinex写道:“是的,浏览器问题…对不起”。“浏览器问题”是什么意思?

UPD。在节点v0.8上回滚后,此问题已解决


问题答案:

从0.9.2(包括0.10.x)开始,node.js现在默认验证证书。这就是为什么当您升级到node.js
0.8之后,它会变得更加严格的原因。(HT:https : //github.com/mscdex/node-
imap/issues/181#issuecomment-14781480

您可以使用该{rejectUnauthorized:false}选项来避免这种情况,但是这会 带来严重的安全隐患
。您发送给对等方的任何内容仍将被加密,但是发起中间人攻击变得容易 得多 ,即,您的数据将被加密至对等方,但是对等方本身并不是您认为的服务器!

最好先诊断证书未授权的原因,然后查看是否可以解决该问题。



 类似资料:
  • 问题内容: 我正在尝试使用带有自签名证书的Node.js 0.8.8创建TLS服务器/客户端设置。 基本的服务器代码如下所示 现在,当我尝试连接到该服务器时,我使用以下代码: 如果我删除线 从客户端代码,Node.js抛出一个错误告诉我。据我了解,这是由于它是一个自签名证书,并且没有其他方信任此证书。 如果我删除 同样,错误也消失了-但等于错误,实际上意味着我的连接未加密。无论如何,使用我可以访问

  • 问题内容: 我尝试使用自签名证书连接到服务器。我使用此代码接受所有证书。 但是尽管如此,我收到以下错误: 我确定我的证书代码已执行,那么可能是什么问题? 问题答案: 您可以使用

  • 我试图从java调用Heroku的开发人员api,但是我得到了以下异常: 我的代码如下所示: https://stackoverflow.com/a/7266768 https://stackoverflow.com/a/3904473 https://stackoverflow.com/a/25356821 建议我应该重写证书主机名检查,这肯定违背了这一点(当然生产还没有准备好)?

  • 问题内容: 我一直在使用以下代码连接到Google的服务之一。这段代码在我的本地机器上运行良好: 我将这段代码放到了已阻止Google.com的生产环境中。根据要求,他们允许我访问IP:74.125.236.52,这是Google的IP之一,从而允许与Google服务器通信。我编辑了主机文件,也添加了该条目。 仍然无法访问URL,我想知道为什么。所以我将上面的代码替换为: 现在我得到这样的错误:

  • 我有一个httpsendpoint,我需要从wso2 API管理器访问它。(使用1.10)。我已经将证书文件添加到“client-truststore.jks”文件中。但现在它给出了如下错误。 我已经更新了Axis2.xml文件,如下所示。 如何使用WSO2 APIManager解决此问题以访问此https后端服务

  • 问题内容: 我在Android上使用HttpClient连接到https://someUrl.com/somePath。问题在于该站点的证书用于* .someUrl.com,而不是someUrl.com,因此我得到了SSLException。是的,网站上有些脚,是的,但是除非我能解决问题,否则我将陷入困境。有没有办法让HttpClient放松并接受证书? 问题答案: 这是我的(编辑)解决方案: 除