免费托管域名网站切换HTTP/HTTPS报安全连接错误求解决方案
问题核心原因
你从HTTPS切到HTTP还触发This site can’t provide a secure connection报错,本质是多层强制HTTPS的规则、缓存没有同步清理:不管是浏览器本地、主机面板、解析/CDN层还是站点自身配置,只要有一层还在强制把请求转到HTTPS,但你服务端已经关停了HTTPS的证书配置和443端口监听,SSL握手直接失败就会弹出这个报错,和HTTP协议本身无关。
可落地的解决步骤
按优先级从高到低操作,每做完一步就测试一次访问,不用全做完:
- 先清浏览器本地的HSTS缓存
80%的个人站点切协议卡这个报错,都是本地HSTS规则导致的。之前站点开HTTPS时如果返回了HSTS响应头,浏览器会在有效期内强制把该域名的所有请求自动转成HTTPS,哪怕你手动输HTTP地址也会被拦截跳转。
操作方法:Chrome/Edge浏览器直接地址栏输入chrome://net-internals/#hsts,找到Delete domain security policies板块,输入你的域名点击删除,之后清除浏览器里该站点的Cookie和缓存,重启浏览器再试访问。 - 关闭免费主机面板的强制HTTPS规则
几乎所有免费托管主机默认都会开全局强制HTTPS跳转,这个规则的优先级比你站点代码里写的跳转高得多,你自己改代码里的链接前缀没用。进主机的控制面板找到SSL/TLS设置、HTTPS设置相关板块,把「强制HTTPS」「Always Use HTTPS」这类开关全部关掉,如果面板支持手动关闭443端口监听,直接关了避免规则冲突。 - 清理解析/CDN层的HTTPS相关配置
如果你用的免费域名开了免费CDN、或者加了HTTPS类型的解析记录,CDN侧默认也会做强制HTTPS跳转。先去域名解析面板,把所有类型为HTTPS的解析记录删掉;如果开了CDN就进CDN配置页,把强制HTTPS跳转、SSL加速的开关关掉,确认回源协议设置为HTTP。 - 清理站点自身的残留跳转规则
如果是用WordPress这类开源程序搭的站,先去后台常规设置页,把站点地址、程序地址的前缀从https://改成http://;如果是静态站或者自己写的站点,检查根目录下的.htaccess、Nginx/Apache配置文件里有没有写死的HTTPS 301跳转规则,找到后全部删除,再清空主机侧的站点缓存重试。
补充说明:不建议长期使用HTTP协议运营站点,现在主流浏览器会对HTTP站点默认标记「不安全」,还会拦截表单提交、位置获取等核心功能。绝大多数免费主机、免费域名都支持免费申请Let's Encrypt SSL证书,补一个有效证书重新开启HTTPS,比切回HTTP的长期使用体验好很多,也不会再出这类连接报错。
内容的提问来源于stack exchange,提问作者mehwish parveen
相关产品推荐
相关产品推荐

