d3.js和自签名SSL证书
问题描述:
我正在测试d3.js并且正在对服务进行工作调用,但是当我将SSL添加到服务和客户端时,它不起作用。这可能是由于SSL证书是自签名的。d3.js和自签名SSL证书
d3.js有没有办法让它忽略SSL错误?
更新2017-02-28: 代码请求,我排除了,因为它不是主要的东西。下面是一个简单的调用,它实际上只检索带有json格式数据的文件。但是,调用实际的REST服务时问题会相同。
d3.json("https://vbgmysql01.local/d3/data2.json", function(error,json) {
console.log(error);
data = json.devices;
render(data);
});
该呼叫浏览器(在Windows上)提供了以下错误消息
GET https://vbgmysql01.local/d3/data2.json net::ERR_INSECURE_RESPONSE
如果我把我的网页在同一台服务器上,并且首先接受的自签名证书,那么一切都将正常工作。但是,这显然不是如何在完成时运行。
答
这就是我解决这个问题的方法。这不是一个好的解决方案,但另一方面,我应该使用真正的证书。
使用自签名服务连接到服务。接受所有浏览器警告并继续访问该网站。
连接到我的网页(在我的情况下使用http)。
现在检索数据,但可能需要一些CORS魔术,如果不是全部存在的话。感谢所有的投入。
你有没有尝试过从d3中调用服务?有可能d3没有得到正确的答案。 – javier
在使用Chrome的Windows上,我将得到以下错误消息net :: ERR_INSECURE_RESPONSE。在Mac上使用Safari或Chrome将改为在CORS上投诉,但没有SSL的CORS配置工作正常。 使用POSTMAN连接服务可以正常工作。 – Nenne
您的问题缺少代码,您是如何致电此服务的?这是否真的是一个CORS请求?你有没有[见过这个问题](http://stackoverflow.com/questions/15115746/why-chrome-cancel-cors-option-request)。 'd3.js有没有办法让它忽略SSL错误?',这与'd3.js'无关,它是你的网页浏览器,它正在破坏请求。您是否通过HTTP加载页面并通过HTTPS请求该服务? – Mark