!
也想出现在这里? 联系我们
广告位
当前位置:首页>教程分享>服务器教程>Flask+Nginx反向代理ssl报错The plain HTTP request was sent to HTTPS port解决办法

Flask+Nginx反向代理ssl报错The plain HTTP request was sent to HTTPS port解决办法

最近通过Nginx反向代理一个网站,环境为Flask+uwsgi+Nginx反向代理,当部署证书并设置强制跳转https以后,在浏览器输入:blog.amd5.cn访问出现了“400 Bad Request The plain HTTP request was sent to HTTPS port”错误,如下图:

Flask+Nginx反向代理ssl报错The plain HTTP request was sent to HTTPS port解决办法

一开始怀疑自己的配置有问题,反复确认和对比以后,排除配置问题。

于是网上搜索了相关报错,找到了解决方案,出现这种报错的主要原因是:

因为HTTP请求被发送到HTTPS端口,这种报错多出现在Nginx既处理HTTP请求又处理HTTPS请求的情况。

正常80端口访问应该是:http://blog.amd5.cn:80/login

正常开启HTTPS以后443端口访问应该是:https://blog.amd5.cn:443/login

但是此时却变成了: http://blog.amd5.cn:443/login,即HTTP请求被发送到HTTPS端口。

如果我直接在浏览器输入:https://blog.amd5.cn,却能正常跳转到https://blog.amd5.cn/login

直接输入http://blog.amd5.cn/login,也能正常跳转到https://blog.amd5.cn/login

为什么会有这样的问题呢,经过排查原来是多次重定向导致的,主要是因为在使用Flask-Login验证登录的时候,如果未登录,会重定向到登录页面。

通过浏览器开发者工具,可以看到,当我浏览器输入blog.amd5.cn,第一次重定向为http->https:

1

给TA打赏
共{{data.count}}人
人已打赏
服务器教程

Flask访问报错 net::ERR_INVALID_HTTP_RESPONSE解决办法

2021-4-17 19:05:35

服务器教程

香港空间http 自动跳转到 https

2021-4-17 19:05:37

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:吉吉国王 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
OneEase