SSL: 为什么Chrome会报告混合内容?(Drupal 6)

9
我刚刚完成了一个整个网站的SSL配置,但是Google Chrome报错“此页面包含一些不安全的元素”,这对于用户的信任度来说并不好。其他浏览器都能正常工作,并显示金色的锁。

该网站是一个基于Drupal 6的电子商务网站,运行在apache2上,错误出现在前端和管理区域。

有人知道如何找到哪些元素被认为是不安全的吗?

编辑:我使用Fiddler检查了流量,它确实全部使用HTTPS。甚至在轻量级的站点持有页面上也会出现警告,该页面没有使用JavaScript等…

6个回答

15

可能是浏览器问题?你尝试过重新启动或清除所有缓存吗?


2
哇,是的,就是这样。重新启动 Chrome 就可以了。<羞涩> - jsims281

14

请注意,控制台特别有用:Chrome会直接在控制台中打印混合内容错误。按下ctrl-shift-j可以直接进入控制台,而不是按下ctrl-shift-i只是打开开发工具。 - Ben Challenor

2

我之前也遇到过类似的问题。原来是CSS文件中硬编码了背景图片的URL。

你应该特别检查一下你使用的任何第三方样式表,因为它们可能会链接到另一个服务器上的图像。

简单的解决方法?将这些图像保存到你的服务器上,并在CSS文件中将URL更改为相对路径。

希望这可以帮到你!


1

1

在源代码中搜索http:?类似于在Firefox中使用<Ctrl-U> <Ctrl-F> http:的方式。

不安全元素是指通过不安全的(非https)连接加载的元素,例如图像、样式表等。您显然需要完全限定的URL来加载不安全元素。


完成这些操作后,只剩下以下链接:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr"> 但是去掉它们并不能解决问题... - jsims281
样式表是否导入了另一个样式表或一些脚本生成的内容? - Michael Krelin - hacker
嗯,有一些使用jquery进行样式处理,但是所有实际文件仍然通过https传输...我们正在研究这种可能性。 - jsims281

1
使用Firefox的Firebug插件。在NET选项卡中,所有文件位置都清晰地显示出来。尝试查找任何从http协议获取的文件。

1
好主意,我刚刚检查了所有文件,每个文件都是HTTPS。这个问题真让我困扰... - jsims281
我也发现在Chrome的网络选项卡中每个文件都是https,但是在Chrome中看到https被破坏了,并且报告说这是由于混合脚本引起的。我查看了所有的<script>标签,没有发现任何不是https的标签。 - tog22

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接