Java 从spring重定向url中删除项目名称前缀
我使用nginx反向代理连接tomcat,nginx配置为:Java 从spring重定向url中删除项目名称前缀,java,spring,nginx,redirect,jakarta-ee,Java,Spring,Nginx,Redirect,Jakarta Ee,我使用nginx反向代理连接tomcat,nginx配置为: server { listen 80; listen [::]:80; server_name magnet.s-m.local; location / { proxy_pass http://tomcat:8080/magnet/; proxy_cookie_path /magnet /; proxy_redirect off; proxy_set_
server {
listen 80;
listen [::]:80;
server_name magnet.s-m.local;
location / {
proxy_pass http://tomcat:8080/magnet/;
proxy_cookie_path /magnet /;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
每一个都可以,但当我想重定向用户spring时,将项目名称添加到重定向路径
@RequestMapping(value = "/login",method = RequestMethod.POST)
public String loginCheck(HttpSession session, @RequestParam("username") String user, @RequestParam("password") String password){
session.setAttribute("username",user);
return "redirect:/home";
}
此代码重定向到http://magnet.s-m.local/magnet/home
但我想重定向http://magnet.s-m.local/home
如果我使用
RedirectView
这很好,但是使用redirect:/home
更好,因为如果登录失败,我可以决定重定向或加载jsp文件。尝试从nginx配置中删除proxy\u redirect
和proxy\u set\u header Host
参数:
location / {
proxy_pass http://tomcat:8080/magnet/;
proxy_cookie_path /magnet /;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
您也可以指定更详细的,但它应该被激活