欢迎光临
我们一直在努力

详解NGINX访问https跳转到http的解决方法

问题:浏览器打开https://www.jb51.net/aaa.html,然后跳转到https://www.jb51.net/aaa.html

网站架构:用户–https—>nginx代理—http—->tomcat/nginx+php

nginx待遇发给后端的请求是http协议,后端程序跳转获取到的协议是http,返回一个redirect(http header中带Location:https://www.jb51.net/aaa.html),浏览器收到location,跳转到了location指定的地方。

解决方法

解决方法1:

在nginx代理中增加一个header,标志用户请求是http还是https,后端获取header决定跳转到http/https页面。这个方法需要修改nginx配置和程序,不推荐,但是可以解决问题。

解决方法2

nginx代理中配置proxy_redirect

proxy_redirect http:// $scheme://;

以上指令会将后端响应header location内容中的http://替换成用户端协议https://。

NGINX访问https跳转到http的解决了~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持云搜网。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。