解决Nginx报错The plain HTTP request was sent to HTTPS port
编辑:狂族晨曦 来源:系统运维,经验杂笔 日期:2016-12-09 阅读: 62,715 次 3 条评论 » 百度已收录
最后更新时间:2022-04-02
先森给现网业务搭建了Nginx做反向代理服务,包括http协议和https协议,结果申请公网IP后访问发现报错“The plain HTTP request was sent to HTTPS port”。经过一番研究后解决了问题,这里做个记录。

Nginx 400错误
解决问题
解决方式1:
使用https://ip:port/*方式访问,如果直接ip:port/*则是http协议,所以会报错The plain HTTP request was sent to HTTPS port(普通的HTTP请求被发送到HTTPS端口)
解决方式2:
打开配置文件,查看HTTPS server段的配置:
修改前:
server {
listen 443 ssl;
server_name localhost;
...
}
修改方式,将监听端口后的“ssl”删除,即:
server {
listen 443;
server_name localhost;
...
}
这样再直接用ip:port/*访问则不会再报The plain HTTP request was sent to HTTPS port错误了。
除特别注明外,本站所有文章均为成航先森 www.capjsj.cn 原创,本文共521个字
转载请注明出处来自https://www.capjsj.cn/nginx_400_https_error.html
转载请注明出处来自https://www.capjsj.cn/nginx_400_https_error.html

川公网安备 51011202000104号
因为443是https端口,欲使用443作http端口,nginx中注释ssl on;即可。
就好像你访问 https://ip.com:80 你的80是http协议,也会报同样错误。
听说Nginx的性能很不错的!
我的只想要http 防卫
server {
ssl off; #无论是否去掉这一行,都是报这个错误,
server_name media.zhoulujun.cn;#填写绑定证书的域名
listen 80;
root /data/wwwroot/zhoulujun/media;
}