场景:如果用户未登录网站,访问服务器就会被服务器重定向到首页。使用的是nginx负载均衡,java web项目
我们预期的重定向之后的地址是:https://XXX.com:8080/XXX
但是经过nginx转发后变成了:http://XXX.com/XXX
丢失端口号且https变成了http
解决办法:修改nginx配置文件
在对应location里加上
proxy_redirect http://$host https://$host:$server_port
备注:$host和$server_port是nginx的内置变量
$host:主机名(请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名;)
$server_port:服务器端口号