时间:2021-05-19
问题:浏览器打开https:///aaa.html,然后跳转到https:///aaa.html
网站架构:用户--https--->nginx代理---http---->tomcat/nginx+php
nginx待遇发给后端的请求是http协议,后端程序跳转获取到的协议是http,返回一个redirect(http header中带Location:https:///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的解决了~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
必须开启ssl不然转成http会访问不了我们可以用Apache的.htaccess来实现http强制跳转到https访问网站。代码如下RewriteEngine
我们可以用Apache的.htaccess的重定向规则来实现http强制跳转到https访问网站。(重要提示:必须将代码放到.htaccess文件内容的最前面,
本文主要和大家分享Apachehttp自动跳转到https的几种方法,当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求),全部都
用discuz!论坛访问手机版本的网址不会自动跳转到电脑版网址,而是会跳转到http://域名/misc.php?mod=mobile,这样体验很不好。现提供修
tomcat访问项目,一般是ip+端口+项目名nginx配置location/{},一般只能跳转到ip+端口,如果想要直接访问项目,就需要修改tomcat的配置