找出哪些资源不通过HTTPS

时间:2010-07-20 17:34:21

标签: ssl https

我有一个ASP.NET站点,应该通过HTTPS完全传输。但是,在谷歌浏览器中,我收到一条警告,指出该页面包含不安全的资源。如何找出这些资源以及为什么不通过HTTPS?

13 个答案:

答案 0 :(得分:87)

我在Chrome中也遇到过这个问题。我检查了“网络”选项卡,但所有资源都是通过https加载的。

解决方案:关闭Chrome并重新打开。

Chrome必须缓存其安全内容检测,这样即使您解决了问题,不安全的内容消息也不会消失。

答案 1 :(得分:42)

通常会发生这种情况,因为您在不使用https的情况下加载图片,javascript包含文件或外部CSS文件。您可以使用FireBug等程序:http://getfirebug.com/

FireBug将告诉您元素的加载方式以及哪些元素不会通过ssl层。如果你没有firefox,那么我很确定Chrome也有类似FireBug内置的东西。

以下是使用firebug的方法:

  1. 打开萤火虫
  2. 单击“控制台”选项卡
  3. 重新加载页面
  4. 任何https错误都会显示在控制台中,并告诉您哪个资源无效。
  5. 希望这有帮助

答案 2 :(得分:37)

我与提供此在线脚本的人无关,但它很简单,可以在任何浏览器中添加书签..运行良好,快速解决问题.. http://www.whynopadlock.com

答案 3 :(得分:8)

在谷歌浏览器中:您可以在Console窗口的Inspect Element标签中查看有问题的资源。

它将列为:

  

https://example.com/page处的页面显示来自 http 的不安全内容://example.com/resource

当然,您可能需要重新加载已打开Inspect Element窗口的页面。

答案 4 :(得分:6)

最简单的方法之一是在Firefox中右键单击该页面,然后选择查看页面信息。然后转到媒体选项卡,找到从http而不是https加载的任何内容。

答案 5 :(得分:5)

我们已经抓住了自己的痒,并编写了一个工具来抓取您的网站,并告诉您哪些网页上有非SSL资源。您只需输入网站的根URL即可 - 无需手动检查每个页面。

http://www.jitbit.com/sslcheck/

答案 6 :(得分:2)

我注意到当我遇到这个问题时,工具栏(uTorrent)导致错误。我删除了工具栏,错误就消失了。不确定为什么工具栏会在我的网站上导致错误,但SSL证书不再存在问题。

答案 7 :(得分:1)

在Chrome中,您可以通过执行以下操作找出通过http与https加载的资源:

1)在“扳手”菜单中,选择“工具”>开发人员工具

2)单击“资源”工具栏图标

3)展开Frames文件夹以查看不同的页面。展开要查看其资源的页面。然后列出页面的各个资源,按图像,脚本和样式表分类

4)要查看用于加载该资源的URL,只需将鼠标悬停在资源名称上,即可显示URL或http或https。您还可以单击图像名称以查看右侧的图像及其URL

答案 8 :(得分:1)

要添加到此,我右键单击“网络”选项卡视图中的列标题并选择“协议”。

如果您随后单击“协议”标题,则报告的内容将按HTTPS等分组

答案 9 :(得分:0)

Chrome拥有自己的开发者工具。

您可以右键单击页面,检查它..然后单击“网络”选项卡并重新加载页面。你会看到工作流程。

答案 10 :(得分:0)

我不知道是否有人会检查这个答案 或者您可能已经找到了解决方案,但无论如何,我的回答可能会帮助其他遭遇类似问题的人

http://www.whynopadlock.com/

这是我用来检查加载到我页面的不安全内容/文件的链接。

希望它有所帮助。 :)

答案 11 :(得分:0)

我刚刚在chrome中发现了相同的行为(firefox显示了绿色锁定),即使所有资源都是通过https加载的。

我的理由是服务器支持破解(google poodle)SSLv3。

设置ssl_protocols以在nginx.conf中排除SSLv2,如此

 answeredGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        Toast.makeText(getActivity()," "+position,Toast.LENGTH_SHORT).show();
        questionposition = position;
        Intent intent = new Intent(getActivity(), AnswerDetailsActivity.class);
        intent.putExtra("Image_position",position);
        intent.putExtra("question_id",id);
        startActivity(intent);
        getActivity().finish();


    }
});

为我解决了这个问题。

我认为不幸的是,Chrome并没有使这个理由更加透明。 “这个页面不安全地加载一些资源”如果没有错误就会产生误导。

答案 12 :(得分:0)

如果您想从自己的桌面上抓取自己的网站,以获取已加载的所有资源的列表(不过请注意,不是由javascript加载的),如果使用Windows,则可以使用Xenu's link sleuth。导出TSV文件,然后右键单击并使用excel打开,然后按URL排序,然后可以找到该网站上所有页面的那些讨厌的http资源!