首页 > 教程攻略 >

修复Chrome HSTS异常的方法,解决无法访问HTTPS网页问题

更新时间:2023-12-07 15:38:23 来源:互联网

随着网络安全意识的增强,许多网站已经采用了HTTPS协议来加密用户的数据传输。而修复Chrome HSTS异常则成为解决无法访问HTTPS网页的关键方法之一。HSTS(HTTP Strict Transport Security)是一种安全机制,它告知浏览器只通过HTTPS访问特定网站。然而,有时候我们可能会遇到无法访问某些HTTPS网页的状况,这往往是由于Chrome浏览器的HSTS缓存异常所引起。在本文中,我们将介绍如何修复Chrome HSTS异常,以解决无法访问HTTPS网页的问题。

修复Chrome HSTS异常的方法,解决无法访问HTTPS网页问题

今天小伙伴突然告诉我,他的电脑打不开网页了,然后把以下截图给我发了过来:

网页无法打开

了解到他是用shadowsocks访问谷歌的时候网页打不开,之前是都是OK的。简单让他做了下网络连通性测试:ping域名,telnet网站的80和443端口,发现网络是OK的。然后仔细看了下他的报错信息:

"NET::ERR_CERT_COMMON_NAME_INVALID",详情页里可以看到是“因为此网站使用了HSTS”,于是让他尝试清理下Chrome上HSTS安全设置策略,清理后恢复正常,具体操作如下:

在Chrome浏览器中输入:chrome://net-internals/#hsts:

找到相应的"delete domain security policies",输入访问有问题的网站域名,然后点击删除(delete):

删除相应域名策略

找到"Query HSTS/PKP domain",输入刚才删除的域名,查询结果返回“Not Found”,代表已经删除成功:

删除后验证

之后再重新访问之前的页面,此时网页能够正常打开。

问题虽然已经解决,那么我们本着知其然,且知其所以然的原则,我们总结一下:

报错是HSTS的问题,那么我们尝试清理HSTS的设定,重新获取一下即可。那么什么是HSTS呢:

HSTS is HTTP Strict Transport Security: a way for sites to elect to always use HTTPS. See https://www.chromium.org/hsts, 是国际互联网工程组织IETF正在推行一种新的Web安全协议,HSTS的作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接。采用HSTS协议的网站将保证浏览器始终连接到该网站的HTTPS加密版本,不需要用户手动在URL地址栏中输入加密地址。

该协议将帮助网站采用全局加密,用户看到的就是该网站的安全版本。

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

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

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

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

小伙伴的电脑很可能是因某些原因导致待访问网站的HSTS失效了,所以清理之后,重新认证一下即恢复正常。

游戏排行