Nginx   发布时间:2022-05-10  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring MVC“redirect:/”前缀重定向,包含端口号大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我一起使用tomcat和Nginx来提供我的Web应用程序.
Nginx侦听端口8085并将请求转发给在端口8084上运行的tomcat.

如果我进行如下重定向:

@requestMapping("/test")
public String test() {
    return "redirect:/";
}

页面被重定向到端口8084(tomcat端口)而不是Nginx端口(8085).

如何重定向到所需的端口?

编辑:
我的Nginx配置与此类似:

server {
    listen 8085;
    server_name www.mydomain.com;

    LOCATIOn /{
        proxy_pass http://127.0.0.1:8084;
        include /etc/Nginx/conf.d/proxy.conf;
    }
}

/etc/Nginx/conf.d/proxy.conf的内容和内容:

proxy_redirect off;
proxy_set_header Host $host:$proxy_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ForWARDed-For $proxy_add_x_forWARDed_for;
client_max_body_size 8m;
clienT_Body_buffer_size 256k;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 120;
proxy_buffer_size 4k;
proxy_buffers 32 256k;
proxy_busy_buffers_size 512k;
proxy_temp_file_write_size 256k;

解决方法:

在配置中使用$server_port而不是$proxy_port部分.

改变这一行

proxy_set_header Host $host:$proxy_port;

proxy_set_header Host $host:$server_port;

Catalina的httpServletResponse.sendRedirect实现使用getServerPort方法构建绝对重定向URL(LOCATIOn Header-value). getServerPort返回以下部分:来自请求的HostHeader-Value,在你的情况下必须是8085.

大佬总结

以上是大佬教程为你收集整理的Spring MVC“redirect:/”前缀重定向,包含端口号全部内容,希望文章能够帮你解决Spring MVC“redirect:/”前缀重定向,包含端口号所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: