【问题标题】:Chrome Bug - Force ALWAYS SSLChrome 错误 - 强制始终使用 SSL
【发布时间】:2014-12-20 18:12:06
【问题描述】:

从 10 分钟开始,chrome 在我网站的子域中强制使用 SSL 证书。

我的网站:https://www.mywebsite.com -> SSL OK INSTALLED

子域:http://forum.mywebsite.com -> SSL 未安装

现在“chrome”强制我的论坛使用 SSL,可能是因为总是访问强制 SSL 的主站点,但这没有意义。在 IE、Firefox 和其他版本的 Chrome 上没有任何反应,只有在这台装有 Chrome 的 PC 上。

我没有安装扩展程序,也没有安装强制安全连接的防病毒软件,例如卡巴斯基。

这取自日志:chrome: // net-internals / # events

17239: URL_REQUEST 
http://forum.mywebsite.com/ 
Start Time: 10/24/2014 22: 14: 16,596 

t = -633,892 [st = 0] + REQUEST_ALIVE [dt =?] 
                   -> Has_upload = false 
                   -> Is_pending = true 
                   -> Load_flags = 3384432 (BYPASS_DATA_REDUCTION_PROXY | main_frame | MAYBE_USER_GESTURE | VERIFY_EV_CERT) 
                   -> Load_state = 0 (IDLE) 
                   -> Method = "GET" 
                   -> Status = "SUCCESS" 
                   -> Url = "http://forum.mywebsite.com/" 
                   -> Url_chain = ["http://forum.mywebsite.com/","https://forum.mywebsite.com/"]

【问题讨论】:

  • 我注意到 Chrome 积极缓存我的旧 301 重定向。如果您曾经有从 http 到 https 的 301 重定向,这可能是问题所在。您可以在隐身模式下仔细检查或清除缓存。

标签: google-chrome


【解决方案1】:

在来自 HTTPS 站点的 HTTP 响应中,在标头中查找 HSTS。

http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security

这样就可以满足您的描述;它可能会强制父域和所有子域始终为 HTTPS。

编辑:这里有更多细节,感兴趣的人可以参考。

通常,您有一个用户通过 HTTP 访问您的站点。如果您想保护他们的连接,请将他们重定向到同一页面,但使用 HTTPS。问题在于重定向发生在网络上,在 HTTP 中,这是不安全的。中间人攻击可以阻止升级,并使用户卡在 HTTP 中;更糟糕的是,他们可能没有意识到自己受到了攻击。您可以仅使用 HTTPS 提供您的网站,但使用 HTTP 尝试您的网站的用户会认为您的网站已关闭,这也很糟糕。

因此,HSTS(HTTP Strict-Transport-Security)是解决方案。大多数现代浏览器都支持它(Chrome/Firefox,我认为 Safari 和 IE12 都会支持它。)旧版浏览器会忽略它。

HSTS 适用于每个域。一旦 HSTS 为 yoursitehere.com 激活,如果用户在浏览器中输入 http://yoursitehere.com,浏览器会做一些不同的事情;它不是使用 HTTP 联系 yoursitehere.com,而是在访问网络之前将查询重写为 HTTPS。这可以减轻中间人的攻击。

有两种方法可以打开 HSTS。一种是使用 HTTP 响应标头,该标头必须通过 HTTPS 提供。另一种是通过联系浏览器公司(Google、Apple、Mozilla、Microsoft)要求将其添加到“HSTS 预加载列表”中,这是浏览器附带的配置文件。

如果使用响应标头打开此功能,则还有一个选项;这应该打开多少秒?

使用任何一种触发方法,都有一个主要选项。 “includeSubDomains”,这是被问到的。如果设置了 includeSubDomains,而不是只包括 yoursitehere.com... 它还将包括 www.yoursitehere.com、mail.yoursitehere.com、static.yoursitehere.com 等等。

不先测试一下就打开这是一件危险的事情。

将网站移至 HTTPS 可能会突出显示混合内容错误;有些浏览器将这些放在控制台中,有些会弹出它们,但它是一个使用 HTTP 资源的 HTTPS 页面。如果您的网站一直都支持 HTTPS,那么这不是问题。

同样,这也很危险,因为它是按域而不是按路径。

因此,如果 yoursitehere.com/your-application 想要 HSTS,但 yoursitehere.com/another-teams-application 不想要,则一个产品/服务器可以强制每个人都使用它,前提是它们都映射在同一个域下。

Google(Gmail、Drive 等)、Twitter、Facebook、Paypal 和其他公司已经使用了一段时间。

【讨论】:

  • 这是最可能的原因,我也是通过进一步研究发现的。 (由于与此处完全相同的症状,我将赏金放在了上面。)我仍然希望对完整的赏金有更多解释性的答案,例如解释 includeSubDomains 属性以及 HSTS 的具体使用方式和位置。
  • 我已经找到了更长的答案;如果我缺少任何有用的东西,请告诉我,很高兴添加它。
【解决方案2】:

也许服务器正在向这个特定的浏览器发送一个重定向,因为它是如何识别自己的。

如果您打开开发人员检查器并运行查询,您会从初始请求中收到什么返回码?

【讨论】:

    猜你喜欢
    • 2013-10-09
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多