申请 HSTS Preload List

2016.12.09 | | 37 Comments

一直以为只有 VPS 能配置 HSTS,囧。维基百科:HSTS 是 HTTP Strict Transport Security(HTTP严格传输安全)的缩写,是一套由互联网工程任务组发布的互联网安全策略机制。

HSTS 主要目的是为了解决 HTTPS 网站首次请求时因使用未加密的 HTTP 协议而存在被劫持的可能。HSTS 还有另外一层好处:增强网站的兼容性。

采用 HSTS 后,支持这个协议的浏览器会自动跳转到 HTTPS 页面,返回码为 307。而不支持 HSTS 的浏览器访问网站,则不会产生跳转,从而提高了兼容性。(比 301 强制跳转更温柔)

方法源自张戈博客:利用HSTS安全协议柔性解决全站HTTPS的兼容性问题

前提:网站能配置 https(最好已经配置上 https)、把 http 链接处理掉,改成相对链接(比如,http://cyhour.com 可以改成://cyhour.com)。以前的文章可以参考一下:DirectAdmin 安装 StartSSL 免费 SSL 证书

另,如果没有长期使用 https 打算的就不要折腾了。否则后果自负~

开启 HSTS(通用方法)

适合使用虚拟主机,或者不会折腾 WEB 软件。原理很简单,通过代码来新增响应头。将如下代码(仅适用 php)插入到网站根目录的 index.php 即可:

<?php header("Strict-Transport-Security: max-age=63072000; includeSubDomains; preload"); ?>

对于 WordPress,将代码插入 header.php 文件的 wp_head() 前面即可。

更多方法请参考张戈博客原文。

提交 HSTS Preload List 申请

方法很简单,打开地址:https://hstspreload.appspot.com/ (需要爬梯子),输入要提交的域名,『Check status and eligibility』,然后根据提示操作即可。

提交后会显示正在提交到 preload list。要等多久才能通过,我也不知道,反正我是申请了将近有一个星期了,还是 pending submission 状态中。

 466-HSTS-Preload-List

提交后直到批准,网站必须强制 301 跳转到 HTTPS,否则无法通过,批准后取消 301 跳转即可。


更新:20170126

不知道什么时候已经是 currently preloaded 状态了。

https://hstspreload.org/?domain=cyhour.com

 466-20170126-hstspreload

——最近更新:2017年1月26日
支付宝扫码打赏微信打赏

如果文章对您有帮助,欢迎移至上方按钮打赏老杨

声明: 除非注明,常阳时光文章均为原创,转载请以链接形式标明本文地址
本文地址:https://cyhour.com/466/

Comments:37

  1. 万一哪天不想用ssl了呢?

    2016.12.10 06:13 # 回复
    1楼
    • 老杨2.3k+ Safari 10.0 iPhone iOS 10.1.1

      @河石子 那就得先申请取消 preload list ,再取消 ssl,否则网站就打不开了。

      2016.12.10 07:15 # 回复
  2. 瑾瑜30 Microsoft Edge 14.14393 Windows 10 x64 Edition

    一旦加入preload list,子域名也跟着强制了,所以我只是简单的对主域名做了HSTS。

    2016.12.10 09:41 # 回复
    2楼
    • 老杨2.3k+ Safari 10.0 iPhone iOS 10.1.1

      @瑾瑜 只对主域名 hsts?虚拟机也可以?

      2016.12.10 10:04 # 回复
      • 瑾瑜30 Microsoft Edge 14.14393 Windows 10 x64 Edition

        @老杨 加入list的前提就是包含子域名。以后子域名就会被强制https。跟啥机没关系吧

        2016.12.17 16:27 # 回复
  3. kn00762 Google Chrome 54.0.2840.99 Windows 10 x64 Edition

    你怎么会有这种错觉??!!
    “一直以为只有 VPS 能配置 HSTS”

    2016.12.10 12:19 # 回复
    3楼
  4. fooleap120 Google Chrome 55.0.2883.75 Windows 7 x64 Edition

    感觉你花好多时间在折腾博客上面

    2016.12.10 13:25 # 回复
    4楼
  5. 慎重啊,已经在名单中,现在想加个二级域名搞测试都要强制ssl,很麻烦

    2016.12.10 13:54 # 回复
    5楼
  6. 我的一个域名就加入了这个 现在好了 全部强制https了
    很醉啊

    2016.12.10 20:22 # 回复
    6楼
    • 老杨2.3k+ Firefox 50.0 Windows 10 x64 Edition

      @Klose 嗯,支持 ssl 都会强制 https。回过头,如果不是想用 ssl,折腾这个干什么???

      2016.12.11 09:17 # 回复
  7. 我倒是觉得没有很大必要要加入 加入也可以

    2016.12.10 20:23 # 回复
    7楼
  8. 我还没有加入https的大阵营。一看这个折腾起来也是不简单,索性不打算折腾了

    2016.12.11 10:55 # 回复
    8楼
  9. 我不出名的小站,应该不会有人打我的主意吧

    2016.12.11 22:21 # 回复
    9楼
  10. 郑永131 QQbrowser 9.5.9635.400 Windows XP

    挺能折腾,手机下侧边那个 O 什么意思,呵呵。

    2016.12.11 22:26 # 回复
    10楼
  11. 话说这个东西不知道搞了后的好处在哪里?

    2016.12.13 17:01 # 回复
    11楼
  12. 胡杨3 uBrowser 8.4 Windows 7

    这个喜欢就加,不喜欢就不加,看自己喽

    2016.12.14 11:14 # 回复
    12楼
  13. 关于将所有 HTTP 流量重定向到 HTTPS,友情链接之类的也要https?

    2016.12.16 21:40 # 回复
    13楼
  14. 姜辰41 Firefox 42.0 Windows 10 x64 Edition

    SSL在CDN上也是可以的~~表示我更多是在CDN~

    2016.12.17 18:34 # 回复
    14楼
  15. 小萝博客3 Google Chrome 45.0.2454.101 Windows 7 x64 Edition

    话说过了一年有的付费使用了

    2016.12.21 23:04 # 回复
    15楼
  16. 现在独立博客好流行HTTPS啊

    2017.01.06 17:21 # 回复
    16楼
  17. 何先生4 Google Chrome 56.0.2924.87 Windows 10 x64 Edition

    子域名受影响这个比较烦

    2017.02.12 19:52 # 回复
    17楼
    • 老杨2.3k+ Firefox 51.0 Windows 10 x64 Edition

      @何先生 嗯,不过对目前的我来说没有影响,没有用子域名建站。

      2017.02.13 08:38 # 回复

发表留言