【问题标题】:How to implement HSTS in my website如何在我的网站中实施 HSTS
【发布时间】:2017-08-17 06:22:19
【问题描述】:

我有一个网站(来自 godaddy 的域并托管在 hostgator 中)。当我手动更新证书时,我可以将我的网站重定向到 https,但它总是从谷歌搜索转到 http。在线搜索后,我知道在目标域上考虑Strict-Transport-Security: max-age=15768000 作为curl -i -L 的结果将满足我的需要,因为它将强制浏览器以https 打开网站。但我对如何在我的网站上实现这一点感到困惑。

谁能帮我解决这个问题?

【问题讨论】:

    标签: php http curl https hsts


    【解决方案1】:

    不确定这是否适合 Stack Overflow。再说一次,它涵盖了太多的主题,以至于它也不适合任何其他 Stack Exchange 站点。所以无论如何都会尝试回答。

    重定向。

    “我可以将我的网站重定向到 https”是什么意思?现在您已经完成了设置的麻烦,您应该将您的网站重定向到 https,您这样做了吗?或者您可以同时访问 http 和 https 吗?如果是这样,即使用户设置了 http,也要了解如何强制 https。

    这是在您的网络服务器上使用重定向规则设置的。不确定您是否可以直接访问您的配置(例如,如果使用 Apache,则为 .htaccess 文件)或要求您的主机提供商为您进行设置。

    谷歌搜索

    关于 Google 搜索,一旦您设置了重定向,Google 需要一些时间来识别这一点并更新其搜索索引中的链接以显示页面的 https 版本。

    表示您可以通过多种方式告诉 Google 以加快流程:

    • 是否强制重定向到 https?如果不是,Google 将根据多种因素决定显示哪个网站(http 或 https)。
    • 您是否有站点地图并且是否已将这些链接更新到 https?
    • 您的任何页面的 HTML 中是否有 rel="canonical" 设置,并且是否设置为 https 版本?例如,如果您允许页面的 http 和 https 版本(不推荐),这会告诉 Google 哪个是页面的真实版本。
    • 您是否在 Google Search Console 中注册了您网站的 https 版本?如果是这样,那里有任何错误吗?您也可以在此处发起重新索引请求。
    • 您是否将所有内部链接设置为 https,或者更好的是相对链接。
    • 您能否将任何外部链接更新为 https 而不是 http。

    HTTP 严格传输安全 (HSTS)

    这是一个高级主题,所以在您了解更多之前,真的不会推荐它。基本上它是一个 HTTP 标头,您通过 https 与您的网页一起发回,以告诉网络浏览器“嘿,我是一个仅限 https 的网站。从现在开始,自动将任何 http 请求自动转换为 https 之前你甚至发给我”。

    这是一个很好的安全附加重定向之上,但至关重要的是它不能取代重定向的需要。重定向需要先到位才能将其发送到 https,此时您的 Web 服务器可以发送 HSTS HTTP 标头(浏览器将缓存该标头,以便下次知道更改为 HTTPS)。

    要设置它,您需要发送一个这样的 HTTP 标头(但只能通过 https 请求)。

    Strict-Transport-Security "max-age=16070400"
    

    这可以在您的网络服务器中设置,或者在您的 php 文件中或您可以发送 HTTP 标头的任何其他方式中设置。

    请注意,我们将阻止您的网站通过 http 访问,因此,如果您出于某种原因决定关闭 https,那么您基本上已将您的网站屏蔽至任何网站的最长使用期限已缓存该设置的浏览器。

    有关 HSTS 的更多信息,请参见此处: 301 Redirect and HSTS in .htaccess

    但我真的不认为这就是你在这里寻找的东西。它告诉网络浏览器(如谷歌浏览器)强制使用 https,与搜索引擎(如谷歌搜索)无关,因为目前它们忽略了这个 Header。

    【讨论】:

    • 谢谢 - 很好的答案,应该被标记为这样
    • 这不是“与搜索引擎无关”。 Google 在其页面排名中明确考虑了http/s 支持:webmasters.googleblog.com/2014/08/https-as-ranking-signal.html。如果有问题的网站“总是从 Google 搜索到 HTTP”,那么除了轻微的安全问题外,它还会对其 SEO 产生很小的负面影响。
    • 我说 HSTS 与搜索引擎无关——并不是说 HTTPS 与搜索引擎无关。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多