开启HSTS后的坑

  • A+
所属分类:运维教程

首先说下HSTS是什么。HSTS是国际互联网工程组织IETE正在推行一种新的Web安全协议HTTP Strict Transport Security。采用HSTS协议的网站将保证浏览器始终连接到该网站的HTTPS加密版本,不需要用户手动在地址栏中输入加密地址。该协议将帮助网站采用全局加密,用户看到的就是该网站安全版本。

HSTS的作用是强制客户端(如浏览器)使用HTTPS与服务器创建安全的连接。服务器开启HSTS的方法是,当客户端通过HTTPS发出请求时,在服务器返回的超文本传输协议响应头中包含Strict-Transport-Security的字段。非加密传输时设置的HSTS字段无效。

比如,https://birdteam.net的响应头含有Strict-Transport-Security:max-age=31536000;includeSubDomains。这意味着两点:

接下来的一年(即31536000秒)浏览器只要向birdteam.net或其子域名发送HTTP请求时,必须采用HTTPS来发起连接。比如,用户点击超链接或在地址栏输入http://birdteam.net,浏览器应自动将http转写成https,然后直接向https://birdteam.net/发送请求。

在接下来的一年中,如果birdteam.net服务器发送的TLS证书无效,用户不能忽略浏览器警告继续访问该网站。

简单来说,就是你开启HSTS,就意味着以后只能通过安全连接,访问所有*.birdteam.net的网站,否则无法访问。

而我只有主站开启了https,其它子站都是非https链接,所以不得不关闭此功能。

那如何关闭呢?

这是个坑,为什么这么说?

因为设置max-age=31536000时,其数值为缓存秒数,简单来说到了这个时间,才会解除限制,刚说了需要一整年,那么一整年的时间,网站都要使用安全链接才行。

有没有办法解除呢?还是有的,重新修改限制时间,改成1秒即可。

不过有个缺点,就是改完之后需要保留一段时间,确保访问过你网站的人,都重新读取了缓存时间,不然还要等上一年。

这是坑啊!

 

  • 我的微博
  • 这是微博的扫一扫
  • weinxin
  • 微信公众
  • 微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:72   其中:访客  72   博主  0

    • avatar 谔猿诙春饶幕涯谢志僮涡辖怯诙盼夭荷菲 9

      签到成功!签到时间:今日的上午8:42:30,每日打卡,生活更精彩哦!

      • avatar 劣饲敖宰诿煌蚕谥唾桌刮旅缕腋疚几栽椎 9

        签到成功!签到时间:今日的上午4:40:18,每日打卡,生活更精彩哦!

        • avatar 叫巴恃辆寂蕉必涌肥街堤勘底厮鸦蜕堆檀 9

          签到成功!签到时间:今日的上午3:59:29,每日打卡,生活更精彩哦!

          • avatar 亢怖沟智玖来擅倬却拾庇岸涝鹊纷费的僚 9

            签到成功!签到时间:今日的上午12:28:20,每日打卡,生活更精彩哦!

            • avatar 狭谆尤素钟猩确怪日乇没苫酌聪彰任讨桌 9

              签到成功!签到时间:今日的下午8:06:14,每日打卡,生活更精彩哦!

              • avatar 侵救泄料欧幌聊肿暇核拼邑瘫睾没藏中阜 9

                签到成功!签到时间:今日的下午6:44:47,每日打卡,生活更精彩哦!

                • avatar 瞎嗜挝弛僚犊仆滋搅忧撂琶俣剖痰厮禾孜 9

                  签到成功!签到时间:今日的下午5:06:11,每日打卡,生活更精彩哦!