http应用被307强制跳转到https

当使用Nginx反向代理同时运行HTTP应用A和HTTPS应用B时,由于应用B设置了Strict-Transport-Security,导致HTTP访问被强制转向HTTPS,出现307错误和ERR_SSL_PROTOCOL_ERROR。解决方法是让应用B移除响应头中的HSTS字段或在Nginx层面处理。
摘要由CSDN通过智能技术生成

问题

使用Nginx反向代理了两个应用程序,一个http的应用A,一个https的应用B,使用相同域名,不同端口。

一开始访问应用A没有问题,然后访问应用B之后,再次访问应用A出现了**307**强制跳转,将应用A重定向到了https的地址,并提示了ERR_SSL_PROTOCOL_ERROR错误。

导致该域名下所有http的访问都重定向到了https

原因

应用B的响应头里面有一个Strict-Transport-Security 字段,它用来通知浏览器应该只通过 HTTPS 访问该站点,并且以后使用 HTTP 访问该站点的所有尝试都应自动重定向到 HTTPS。

解决方法

  • 让应用B不返回这个响应头
  • 使用nginx响应头改写,去掉这个字段

参考

https://charlesfeng.cn/status-code-307-and-hsts/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值