【问题标题】:d3.js and self signed SSL certificated3.js 和自签名 SSL 证书
【发布时间】:2017-07-18 12:26:49
【问题描述】:

我正在测试 d3.js 并对服务进行有效调用,但是当我将 SSL 添加到服务和客户端时,它不起作用。这可能是因为 SSL 证书是自签名的。

d3.js 中有没有办法让它忽略 SSL 错误?

2017 年 2 月 28 日更新: 一个代码请求,我排除了它,因为它不是主要的事情。下面是一个简单的调用,它实际上只检索一个带有 json 格式数据的文件。但是在调用实际的 REST 服务时问题是一样的。

d3.json("https://vbgmysql01.local/d3/data2.json", function(error,json) {
        console.log(error);
            data = json.devices;
            render(data);
        });

对于这个调用,Chrome(在 Windows 上)给出以下错误消息

GET https://vbgmysql01.local/d3/data2.json net::ERR_INSECURE_RESPONSE

如果我将我的网页放在同一台服务器上,并首先接受自签名证书,那么一切都会正常进行。但这显然不是完成后的运行方式。

【问题讨论】:

  • 您是否尝试过从 d3 调用该服务? d3 可能没有得到正确的答案。
  • 在使用 Chrome 的 Windows 上,我将收到以下错误消息 net::ERR_INSECURE_RESPONSE。在 Mac 上使用 Safari 或 Chrome 会抱怨 CORS,但没有 SSL 的相同 CORS 配置正在工作。使用 POSTMAN 连接到服务工作正常。
  • 您的问题是缺少代码,您如何调用此服务?这真的是 CORS 请求吗?你有seen this questionIs there a way in d3.js to have it ignore the SSL error?,这与d3.js 无关,是您的网络浏览器杀死了请求。您是否通过 HTTP 加载页面并通过 HTTPS 请求服务?

标签: javascript d3.js ssl-certificate


【解决方案1】:

我就是这样解决的。这不是一个好的解决方案,但另一方面,我应该使用真正的证书。

使用自签名服务连接到服务。接受所有浏览器警告并继续访问该站点。

连接到我的网页(在我的情况下使用 http)。

现在数据已被检索,但可能需要一些 CORS 魔法,如果不是全部存在的话。感谢您的所有意见。

【讨论】:

    猜你喜欢
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    相关资源
    最近更新 更多