首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HSTS如何处理混合内容?

HSTS如何处理混合内容?
EN

Server Fault用户
提问于 2018-08-20 07:29:01
回答 3查看 2.7K关注 0票数 7

我刚刚向SSL服务器测试检查了是否正确地在服务器上实现了SSL证书。我在他们的排名中得了A级,但是如果你激活了A+,你就可以得到HSTS。在经历了一些痛苦之后,我发现Google可能会把HSTS作为一个排名因素。因此,它似乎与SEO相关。在实施HSTS之前,我有一些问题。

问题1

如果在我的站点上通过http (而不是https)加载了一些外部javascripts,会发生什么呢?HSTS会阻止整个页面加载还是只阻止特定的“不安全”内容?

问题2

目前(没有HSTS),如果通过http加载资源,我会收到“混合内容”警告。如果HSTS被激活,“混合内容”是否真的存在?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2018-08-20 10:32:23

HSTS根本不尝试处理混合内容:它只是控制浏览器是否应该在尝试加载HTTP时执行内部307重定向到HTTPS。混合内容警告是浏览器的一个特性,所有当前的浏览器都这样做(Mozilla 23+、Google 21+、Internet 10+、Edge从一开始.)。混合内容警告阻止<script><iframe>,而不是<img>

在加载任何内容之前,也就是在HSTS重定向之前,检查所有提到的浏览器上的混合内容警告。这看起来很自然,也很容易测试。默认情况下,即使使用普通HTTP,也会加载所有外部映像,并且只为脚本和iframes提供混合内容警告。

HSTS只更改使用纯HTTP加载来自启用HSTS域的映像并执行307 Internal Redirect的情况。值得注意的是:这是一种不涉及混合内容警告的情况。

因此,HSTS并不能快速解决混合内容问题:

  • 您需要修复站点上的http:// URL,即使是对于域本身也是如此。
  • 您需要确保不从不信任的源加载外部脚本。
    • 如果第三方不启用HSTS,它仍然容易受到中间人的攻击。
    • 第三方可能会从更多的外部来源加载内容,所有这些也适用于这些源。
    • 外部内容站点可能被破解或自己进行恶意活动。
票数 14
EN

Server Fault用户

发布于 2018-08-20 07:59:54

我认为这取决于您所引用的脚本是否托管在启用HSTS的域上。

例如,如果您从mydomain.com为您的内容提供服务,并为此域(可能也包括子域)启用HSTS,但是您所引用的脚本(S)和其他混合内容是从不启用HSTS的otherdomain.com提供的,则混合内容是可能的,浏览器仍然会对此发出警告。

HSTS将停止的(并将帮助修复混合内容)是通过HTTP链接到同一域上的资源--可能还取决于您的配置--因为这些资源将自动“升级”到HTTPS。

票数 4
EN

Server Fault用户

发布于 2018-08-20 10:30:50

这是通过设计实现的:如果HSTS工作正常,它将检索正确的映像(HTTPS上的复选标记),如果不是,则检索HTTP上的X标记。

希望浏览器将停止为通过HSTS升级到HTTPS的内容提供混合内容警告。:)

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/927145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档