Google chrome 使用自签名证书对本地服务器的https调用在chrome上被阻止(在FF上工作)

Google chrome 使用自签名证书对本地服务器的https调用在chrome上被阻止(在FF上工作),google-chrome,ssl,https,certificate,ssl-certificate,Google Chrome,Ssl,Https,Certificate,Ssl Certificate,我使用openssl创建了一个证书和一个密钥,并使用node.js为一个简单(hello world)文件提供服务器 Chrome的行为就像请求永远不会到达服务器(服务器日志也会确认)。 Firefox对证书发出警告,但允许您访问该文件。 请参阅所附图片 有什么想法吗 操作系统:mac 10.9.5 Chrome:41.0.2272.118版(64位) 证书的全部目的是由第三个实体(称为证书颁发机构(CA))签署。客户机通常不会接受服务器提供的证书,除非服务器生成由客户机专门知道的CA签名的证书

我使用openssl创建了一个证书和一个密钥,并使用node.js为一个简单(hello world)文件提供服务器

Chrome的行为就像请求永远不会到达服务器(服务器日志也会确认)。 Firefox对证书发出警告,但允许您访问该文件。 请参阅所附图片

有什么想法吗

操作系统:mac 10.9.5 Chrome:41.0.2272.118版(64位)


证书的全部目的是由第三个实体(称为证书颁发机构(CA))签署。客户机通常不会接受服务器提供的证书,除非服务器生成由客户机专门知道的CA签名的证书

CA的“身份”和“签名”过程是非常精确和严格的加密概念,以避免坏人冒充他人(你的银行、谷歌等)

浏览器通常允许您在每个会话的基础上接受不受信任的证书,因为坏证书无处不在,并不一定总是恶意活动的迹象。然而,自动代码(包括Node.js)几乎会普遍拒绝坏的证书,因为无法要求用户进行覆盖

您需要做的是生成CA证书并指示node.js客户端信任它。我认为以下链接指向一个有效的示例: . 请特别查看request.js-相关行是


fs.readFileSync(path.join(\uu dirname,'certs','client','my-root-ca.crt.pem'))
尝试进一步解决此问题。请尝试其他客户端或http(s)代理。 具体来说,我会尝试其他浏览器、Fiddler、curl和其他类似的工具