HSTS预加载列表 - www网站可能的搜索引擎优化问题

时间:2017-02-05 12:28:52

标签: ssl redirect https seo hsts

让我在这里解释一下现实世界的情况。

我运行网站https://www.liloo.ro,我想为它启用HSTS(+ HSTS预加载)。

问题是,要将其提交到preload list主域必须使用HSTS标头进行回复。

让我更准确一点: 要将网站提交到预加载列表并满足要求,首次重定向必须到主域的https版本。

在我的情况下,我无法从http直接重定向到https + www - >我必须首先从http重定向到https(在此处提供主域名HSTS标头)并再次重定向到https + www

这造成了一个巨大的重定向稀释SEO问题(更不用说链式重定向不理想的事实)。

所以每一次我看这个我都要放弃HSTS预加载列表或者使用链式重定向。这两种选择看起来都不理想。

唯一可行的解​​决方法可能是预载列表要求,但我不太明白这意味着什么:

  

如果您正在提供重定向,则该重定向必须具有HSTS标头,而不是重定向到的页面。

据我所知,在进行重定向时无法提供HSTS标头这样的东西......但也许我错了。 任何想法如何解决这个问题? ...或者我应该完全放弃HSTS预载列表,因为我的网站只是www?

此时我无法从www切换到非www ...我知道这将是" easy"溶液

任何想法 - 非常感谢。 我注意到了这个帖子 Adding HSTS http headers on domain root during redirect to www subdomain in web.config ...但我怀疑它是否解决了这个问题(+我使用的是nginx)

1 个答案:

答案 0 :(得分:3)

我真的很感谢你发布了这个,因为我有完全相同的问题,即http://DOMAIN直接重定向https://www.DOMAIN合并重定向到HTTPS 将其重定向到www子域。

  

我知道这将是“简单”的解决方案。

请注意reasonsdiscussed这样的子域名已经多次使用hstspreload.org,所以这个选择完全可以理解。

但是,HSTS无法(至少尚未)合并这两个重定向:它只能将直接转发到到HTTPS。我想如果HSTS预加载站点检测到这是普通HTTP服务器本身所做的事情,则不允许将“307内部重定向”强制为HTTPS。 (据我所知,这个要求没有在hstspreload.org上明确说明,但只能通过实际尝试设置HSTS预载来找到。)

我对你的问题没有完整的答案,但我可以就你提出的几点提供更多信息:

  

如果您正在提供重定向,则该重定向必须具有HSTS标头,而不是重定向到的页面。

请注意{{3}}的确切(当前)报价:

  

如果您从 HTTPS网站提供其他重定向,则该重定向仍必须具有HSTS标头(而不是重定向到的网页)。

这与以下几点相关:

  

据我所知,在进行重定向时无法提供HSTS标头这样的东西......

HTTP重定向响应完全有可能具有HSTS标头。这仅表示HTTP重定向响应还包含带有合适参数的www标头字段。例如,使用SWI-Prolog作为HTTP服务器,您可以发出如下响应:

?- http_status_reply(moved('https://stackoverflow.com'), current_output,
     [strict_transport_security('max-age=63072000; includeSubdomains')], Code).

得到以下特性:

HTTP/1.1 301 Moved Permanently
Date: Sun, 12 Feb 2017 10:04:55 GMT
Location: https://stackoverflow.com
Strict-Transport-Security: max-age=63072000; includeSubdomains
Content-Length: 366
Content-Type: text/html; charset=UTF-8

etc.

请注意,只有当TLS 已经使用时,才允许使用此标头字段(否则,攻击者可以通过未经过身份验证的连接强制流量到其他端口!)。实际上,标头不得出现在HTTP→HTTPS重定向中,因为它使用未经身份验证的连接,如果(错误地) 在纯HTTP上发生,则客户端必须忽略它。

现在问题的实际要点:

  

这带来了巨大的重定向稀释 SEO问题(更不用说链式重定向不理想的事实)。

我完全同意链式重定向远非理想,并且似乎没有办法像我们这样的(普通!)设置,至少目前没有。

但是,我个人希望额外重定向的影响不会对您网站的排名产生太大影响:从理论上讲,一旦搜索引擎发现您的网站位于HSTS预加载列表中,所有它应该关注的是HTTPS它的版本(因为那也是支持HSTS预加载的浏览器会做的!)。因此,您最终只能使用一个重定向,即Strict-Transport-Securityhttps://DOMAIN,这应该与您当前的情况相当。至少那是我有点天真的希望。在此重定向中,请确保包含HSTS标头,因为这是进入预加载列表的要求。当然,确切的配置细节取决于您的具体Web服务器。

另请注意,在进入HSTS预加载列表后,即使,也无法恢复原始重定向链。这是因为持续要求部分声明:

  

您必须确保您的网站始终始终满足提交要求