Web服务器告知浏览器绝不使用HTTP访问网站的客户端解决问题

日期: 栏目:文章分享 浏览:701 评论:0

通常配置burpsuit谷歌浏览器证书及HSTS问题处理,我们在访问一个网站时,一般只在浏览器中输入网址,而不输入协议名称。比如你访问子凡的雷雪博客,如果你直接输入URL或者时间,这就给了中间人攻击的机会,重定向可能会被破坏,从而将你引导到一个恶意站点而不是应该访问的加密页面。HTTP 严格传输安全 (HSTS) 功能使 Web 服务器能够告诉浏览器永远不要使用 HTTP 访问,自动将所有对站点的 HTTP 访问替换为浏览器端的 HTTPS 访问。

即使你打开网站看到整个网站的HTTPS状态,你也是跳转到这个地址,因为我们在服务器上做了301/302。HTTPS网站的做法是为用户的HTTP访问做一个302跳转到HTTPS,重复这个过程。新连接。(接入流程如下)

Browser Server To SSL

那么问题来了。这个跳转的过程有两个缺点:

HSTS的出现就是为了解决这些问题。HSTS的作用除了节省HTTPS通信RT和强制使用HTTPS外,还包括:

HSTS的工作机制可以描述为:服务器配置支持HSTS后,会在返回给浏览器的HTTP头中携带HSTS字段。浏览器获取此信息后,会在内部将所有HTTP访问请求307转为HTTPS,无需任何网络进程,从而提高兼容性。这种机制对于不支持 HTTPS 的搜索引擎也非常友好。实践。

目前,大多数浏览器都很好地支持了 HSTS。每个浏览器和版本的具体支持可以在网站上查看。但是 HSTS 有缺陷,客户第一次访问网站时,HSTS 不起作用。为了解决这个问题,有必要了解我们将在下面解释的HSTS列表。

什么是 HSTS 清单?

HSTS 列表是浏览器中的 HSTS 预加载列表。此列表中的网站在浏览器访问时会自动转换为 HTTPS。,, Edge 浏览器也会使用这个列表。

加入HSTS列表的要求:

同时输出的HSTS响应头需要满足以下条件:

满足 HSTS 列表的典型响应头是:--: max-age=; ;

从申请到批准的时间可能从几天到几周不等。值得一提的是,从批准到正式添加版本需要一定的时间,因为要经过,dev,beta等等。

配置burpsuit谷歌浏览器证书及HSTS问题处理_herom2登陆器配置器下载_谷歌浏览器官网下载

HSTS的优势和必要性

简单来说就是强制客户端使用HTTPS访问页面。有效避免了中间人对80端口的劫持。但是这里有一个问题:如果用户处于被劫持状态,并且没有访问过源站,那么源站就没有办法为客户端种植-- (都被中间人拦截了)。

启用 HSTS 不仅可以有效防止中间人攻击,还可以为浏览器节省一个 302/301 重定向请求,非常有利可图。我们的很多页面都难免有http链接,比如帮助中的链接,操作填写的链接等等,这些链接的请求都会经过一个302,用户也是一样,收藏夹中的链接也可能是保存在http中。.

307 状态码

对于 GET 和 HEAD 等幂等请求方式,302、303、307 没有什么不同,但是对于 POST 就不同了。大多数浏览器都会用302将POST请求转换为GET。而303是规范强制POST转换为GET请求的规范,请求地址在中,307不同,规范要求浏览器继续POST内容到该地址.

HSTS中可以缓存307,缓存时间取决于max-age。一般建议缓存1年以上。

HSTS的坑

HSTS 无法处理纯 IP 请求。例如,即使在响应头中设置了 STS,浏览器也不会关心(未测试)。HSTS只能在80和443端口之间切换,如果服务是8080端口,即使设置了浏览器证书错误,一般都会提醒有安全隐患,但还是给出目标页面的链接,而HSTS没有目标页面入口,所以一旦证书配置错误,就非常大了如果服务器的HTTPS没有配置,开启STS响应头,还设置了很长的过期时间配置burpsuit谷歌浏览器证书及HSTS问题处理,那么直到你服务器的HTTPS配置后,用户将无法连接到您的服务器,除非 max-age 已过期。HSTS 可以让你的网站达到 A+

写在最后:HSTS在全站HTTPS下有很大的正向效果,推荐使用。

这篇文章是科普文章,所以子凡只是做一个简单的科普,后面会有具体的教程和使用方法。欢迎来到泪雪博客。

除非另有说明,均为雷雪博客原创文章,禁止任何形式的转载

这篇文章的链接:

标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。发布前请先查看评论规则:点我查看