解决Nginx报错The plain HTTP request was sent to HTTPS port
编辑:狂族晨曦 来源:系统运维,经验杂笔 日期:2016-12-09 阅读: 61,251 次 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
因为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;
}