有没有办法欺骗服务器,所以我不会得到这个错误:

内容被阻止,因为它没有由有效的安全证书签名。

我拉一个html网站的iframe到另一个网站,但我一直在这个问题的标题中得到控制台(chrome)错误,在ie中它说:

内容被阻止,因为它没有由有效的安全证书签名。


当前回答

如果您正在开发,并且正在使用Windows机器进行开发,只需将localhost添加为可信站点。

是的,根据DarrylGriffiths的评论,虽然看起来像是你在添加ie设置……

我认为这些是Windows而不是IE设置。尽管MS倾向于假设它们只是IE(因此在“启用保护模式”旁边的警报要求重新启动IE)…

其他回答

您的资源可能使用HTTPS协议上的自签名SSL证书。 铬,所以谷歌铬块默认认为这类资源不安全。

你可以这样绕过这个问题:

假设你的框架的URL是https://www.domain.com,在chrome中打开一个新选项卡并进入https://www.domain.com。 Chrome将要求您接受SSL证书。接受它。 然后,如果你用你的框架重新加载你的页面,你可以看到它现在工作了

正如你可以猜到的,问题是你网站的每个访问者都必须执行这个任务来访问你的框架。

你可以注意到,chrome将阻止你的URL为每个导航会话,而chrome可以记住,你信任这个域。

如果你的帧可以通过HTTP访问,而不是HTTPS,我建议你使用它,这样这个问题就解决了。

有时谷歌Chrome浏览器会抛出这个错误,即使它不应该。 当Chrome有了新版本,需要重新启动时,我就经历过这种情况。 重新启动后,同一页面正常工作,没有任何错误。 控制台的错误是:

net::ERR_INSECURE_RESPONSE

如果您正在开发,并且正在使用Windows机器进行开发,只需将localhost添加为可信站点。

是的,根据DarrylGriffiths的评论,虽然看起来像是你在添加ie设置……

我认为这些是Windows而不是IE设置。尽管MS倾向于假设它们只是IE(因此在“启用保护模式”旁边的警报要求重新启动IE)…

为这个错误提供了另一种可能的解决方案。

如果您有一个前端应用程序对后端进行API调用,请确保引用已颁发证书的域名。

e.g.

https://example.com/api/etc

而不是

https://123.4.5.6/api/etc

在我的例子中,我使用一个证书对一个安全服务器进行API调用,但是使用的是IP而不是域名。这将抛出一个加载失败的资源:net::ERR_INSECURE_RESPONSE。

这个问题是因为你的https意味着SSL认证。试试Localhost。