户外产品网站偶发400 Bad Request问题记录

分享本文:

Share Buttons
文章目录

客户自己在使用网站的过程中,从来没有遇到过这个问题,是我偶然发现的。什么都不做网站也能用,但是有条件的最好能修复一下,彻底避免问题再次出现。

400 Bad Request

由于经手的网站比较多,需要访问这个站点的时候,我只记得域名是 xxx trading,所以在浏览器地址栏输入trading,然后点击第一个结果,打开看到来自cloudflare的报错:400 Bad Request. The plain HTTP request was sent to HTTPS port. 同时,浏览器地址栏提示不安全。

户外产品网站偶发400 Bad Request问题记录

解决办法

由于报错来自Cloudflare,又明确说了是“纯 HTTP 请求被发送到了 HTTPS 端口”。打开Cloudflare控制台,设置所有HTTP请求自动跳转到HTTPS即可。

之所以在Cloudflare设置,是因为这个客户的域名托管到了Cloudflare,如果没有把域名托管到Cloudflare,应该在服务器上开始强制HTTPS.

如果网站是通过宝塔安装的,或者使用的是HostingerSitegroundCloudways等Wordpress专用服务器,一键开启【强制HTTPS】即可。

如果没有一键开启功能,也可以在Nginx配置中,手动添加301重定向的代码。一键开启【强制HTTPS】的本质,就是自动生成这段 Nginx 跳转规则。

为什么会出现这个问题?

这是非专业人士搭建网站的常见问题,通常我们把SSL安全证书、HTTPS加密、地址栏小绿锁放在一起讲,但是,这三种东西关系紧密又各有不同。

  1. SSL安全证书需要申请和部署,有的人只申请下载了证书,没有安装部署。
  2. 在部署好SSL安全证书的基础上,还要开启Force HTTPS, 让来自HTTP的访问全部自动跳转到HTTPS(即从80端口跳转到443加密端口)。
  3. 被浏览器标记为安全网站是最终结果,可以让访客对你的网站更放心,也有利于SEO排名。

曾经,Chrome等浏览器通过在地址栏显示小绿锁标记安全网站,用红色警告标记不安全网站。

但是2024年之后的Chrome,安全网站不再出现小绿锁,不安全网站也不再出现红色警告,提示变成了灰色的【不安全】。

这是因为经过几年的过渡期,绝大多数网站都已经用上了HTTPS加密,Chrome不再需要频繁地提醒用户这一点了,但是用“小绿锁”代指HTTPS安全网站的说法沿用了下来。

为什么客户自己没有发现这个问题

这个客户处于安装了SSL安全证书,但是没有开启Force HTTPS的阶段。

当我在浏览器输入域名的一部分【trading】时,浏览器默认使用HTTP访问,于是出现报错。但是我手动把HTTP改成HTTPS后打开,就能正常显示了。

客户应该是收藏了自己的网站,而且是带HTTPS的完整网址,发给朋友和海外客户的,也是包含 HTTPS 协议的链接,所以一直能正常访问,也没发现 HTTP 无法访问的问题。

分享本文:

Share Buttons