NGINX访问https跳转到http的解决方法
1. 描述
-
问题: 浏览器打开
https://www.aa.com/aaa.html
,然后跳转到http://www.aa.com/aaa.html
-
网站架构:用户–https—> nginx代理 —http—→ tomcat/nginx+php
nginx待遇发给后端的请求是http协议,后端程序跳转获取到的协议是http,返回一个redirect(http header中带Location:http://www.aa.com/aaa.html),浏览器收到location,跳转到了location指定的地方。
2. 解决方法
2.1. 解决方法1
在nginx代理中增加一个header,标志用户请求是http还是https,后端获取header决定跳转到http/https页面。这个方法需要修改nginx配置和程序,不推荐,但是可以解决问题。
2.2. 解决方法2
nginx代理中配置proxy_redirect
proxy_redirect http:// $scheme://;
以上指令会将后端响应header location
内容中的http:替换成用户端协议https:
。 NGINX访问https跳转到http的解决了~
作者:leonnew
来源链接:https://blog.csdn.net/leonnew/article/details/86510011
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。