【问题标题】:Connection partially Encrypted - Part not transmitted over SSL连接部分加密 - 部分未通过 SSL 传输
【发布时间】:2011-05-23 15:19:48
【问题描述】:

我想知道如何找出罪魁祸首,以及我的网站上没有通过 SSL 传输的内容。这让我大吃一惊,因为我使用相对 URL 或为所有链接、图像等明确选择 HTTPS://...

有什么想法/工具可以找出问题所在?

谢谢。

【问题讨论】:

  • “连接部分加密”是什么意思? HTTPS 中没有 STARTTLS
  • 查看 Piskvor 的回复。 FireFox 告诉我我的连接只是部分安全 - 当然我希望它完全安全!
  • 嗯,从技术上讲,它并不是真正的单一连接,但我认为 FF 使用该文本是为了不混淆用户。
  • 好的,所以如果您正在寻找与同一页面相关的安全和非安全请求的混合体,则将 vhost 和 referer 添加到您的访问日志中(您确实使用不同名称的 vhost SSL的东西不是吗?)
  • @symcbean:好点子,您想将其添加为答案吗?但是请注意,对于现代页面,并非所有请求都会发送到您控制的主机(各种点击分析、CDN、混搭和其他小玩意等)。

标签: apache ssl https


【解决方案1】:

如果您的意思是某些资源在未经加密的情况下通过 HTTP 传输,您可以在 Chrome 的开发者工具中的“资源”选项卡中进行检查 - 这应该会告诉您哪些部分来自哪里 - 查找地址以 http:// 开头的那些.

或者,使用Fiddler:默认情况下,它不会解密 HTTPS 连接,因此您将看到 HTTPS 的 CONNECT 请求和 HTTP 的 GET/POST - 这些都是您的罪魁祸首。

【讨论】:

  • Chrome 是一个很棒的工具。谢谢一百万,找到了!
【解决方案2】:

对于像我这样遇到此问题的人,我建议在设计您的网站时提供一些技巧。

尽可能始终使用相对路径“images/someimage.png”,而不是使用诸如http://someDomainName/images/someimage.png 之类的域路径。其中任何一种都会导致浏览器向您发出警告。

当链接到外部内容、Google/其他广告、javascript 源(例如 jquery 等)或任何其他媒体时...如果有可用的 https:// 链接,请确保您使用它们。我自己,我有一个小图像用于链接到外部站点,但他们没有提供指向图像的 https 链接,所以我只是下载了它并将它放在我的图像文件夹中。问题解决了。

Chrome 资源列表是一个非常有用的工具,不确定 Firefox 的工具箱中是否有类似的东西。另一种方法,如果您有 shell/命令行访问权限,则使用 grep 在文件中搜索“http:”。这通常会显示链接到非安全内容的任何内容。

【讨论】:

    猜你喜欢
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多