HTTP访问,Nginx返回:400 Bad Request The plain HTTP request was sent to HTTPS port

栏目: 服务器 · Nginx · 发布时间: 8年前

内容简介:HTTP访问,Nginx返回:400 Bad Request The plain HTTP request was sent to HTTPS port

今天可能有朋友发现访问w3ctech的时候,出现短暂的无法访问的情况,哪是因为今天下午我们在升级服务器。

w3ctech使用的是thinkjs开发的,服务器使用的是Ubuntu系统,之前使用的是Ubuntu 4.4,这不,我们的服务器是由Ucloud提供的,今天他们说要可以给我们升级一下,所以我就重新弄了一台机器,将Ubuntu从原来的14.4换成了16.4,然后安装了Nginx最新稳定版本1.12.0。当然还安装了比如所需要的Node.js等...

然后将原来的服务器上的Nginx配置直接拿过来,然后将域名解析成功以后,访问https://w3ctech.com 没有问题,以为一切大功告成了。

w3ctech配置了HTTPS,但是并没有配置HSTS,所以我现在配置的是当用户是HTTP访问的时候,使用301跳转到HTTPS。

没想到当HTTP访问w3ctech.com(也就是 http://w3ctech.com)的时候,发现Nginx 报错了,直接在浏览器中显示400 Bad Request The plain HTTP request was sent to HTTPS port。

查找了好多方法,都不得其法,都没有搞定,最后发现只需要将80端口设置为default_server就可以了。代码如下:

server {
       listen         80 default_server;
       listen    [::]:80 default_server;
       server_name    w3ctech.com  www.w3ctech.com;
       return         301 https://$server_name$request_uri;
}

具体为什么,我还没有弄清楚,欢迎有明白的朋友给帮忙解释解释,如果你也遇到这样的问题,希望可以帮到你,同时在这里记录一下,便于以后帮助到自己!

HTTP访问,Nginx返回:400 Bad Request The plain HTTP request was sent to HTTPS port

扫码关注w3ctech微信公众号


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ACM国际大学生程序设计竞赛亚洲区预选赛真题题解

ACM国际大学生程序设计竞赛亚洲区预选赛真题题解

郭炜 / 电子工业 / 2011-7 / 49.00元

ACM国际大学生程序设计竞赛(ACM International Collegiate Programming Contest,简称ACM/ICPC)是世界上历史最悠久,规模最大、最具声望的程序设计竞赛,一直受到众多国际知名大学的重视,全球著名IT公司更是争相招募竞赛的优胜者。 该项赛事分为各大洲预选赛和全球总决赛两个阶段。北京大学多次在亚洲区预选赛中负责命题工作,是中国在ACM/ICPC命......一起来看看 《ACM国际大学生程序设计竞赛亚洲区预选赛真题题解》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码