net::ERR_INSECURE_RESPONSE 从 node-webkit 发出 ajax 请求

Posted

技术标签:

【中文标题】net::ERR_INSECURE_RESPONSE 从 node-webkit 发出 ajax 请求【英文标题】:net::ERR_INSECURE_RESPONSE while making ajax request from node-webkit 【发布时间】:2015-01-12 04:53:26 【问题描述】:

当我尝试使用 jquery 发出 ajax 请求时:

https://localhost:8443/uri

我收到此错误:

net::ERR_INSECURE_RESPONSE

我使用的是自签名证书,在 package.json 我有这些参数:

"chromium-args": "--ignore-certificate-errors --auth-schemes='basic --auth-server-whitelist='*localhost:8443' --auth-negotiate-delegate-whitelist='*localhost:8443'''",

有人知道如何将自签名证书添加到 node-webkit 的信任库!?

操作系统:ubuntu 14.10

【问题讨论】:

我的猜测是您的浏览器阻止了没有证书的 https 域。 看看有没有帮助github.com/coolaj86/nodejs-self-signed-certificate-example 您是否启用了 CORS? @Rodislav 你能添加你的 ajax 调用吗? this question on Unix & Linux 有帮助吗? 看来这个答案解决了问题:***.com/questions/24504827/… 【参考方案1】:

这里的问题是浏览器阻止了对该服务器的调用,因为该服务器的证书无效。由于它是 localhost 服务器,因此它是 self-signed certificate。解决此问题的最佳方法是尝试以下方法之一...

将 localhost:8443 服务器更改为使用valid certificate 从您的浏览器加载页面https://localhost:8443/,接受无效证书,然后尝试调用ajax。

【讨论】:

手动访问页面并接受无效证书帮助我消除了错误消息,尽管它不能解决我的问题,因为这对于那些使用我的客户端的人来说不是一个选项。这不是需要安全的东西,但是因为它是从安全页面调用的,所以它只有在安全的情况下才能工作。而这只是一个玩具——昂贵的官方证书是不可能的……救命!? 无法为本地主机创建证书 -letsencrypt.org/docs/certificates-for-localhost

以上是关于net::ERR_INSECURE_RESPONSE 从 node-webkit 发出 ajax 请求的主要内容,如果未能解决你的问题,请参考以下文章