Spring引导从上下文路径重定向到本地主机
我有一个Spring引导应用程序,其中上下文路径如下: server.servlet.context path=/data 我有一个控制器,可以重定向所有访问contextpath url的人:Spring引导从上下文路径重定向到本地主机,spring,spring-boot,redirect,Spring,Spring Boot,Redirect,我有一个Spring引导应用程序,其中上下文路径如下: server.servlet.context path=/data 我有一个控制器,可以重定向所有访问contextpath url的人: @RequestMapping("/") public String contextRootRedirect(){ return "redirect:/main"; } 这在本地主机上运行良好,每当我访问127.0.0.1:8080/data时,就会被重
@RequestMapping("/")
public String contextRootRedirect(){
return "redirect:/main";
}
这在本地主机上运行良好,每当我访问127.0.0.1:8080/data时,就会被重定向到127.0.0.1:8080/data/main
但是,如果我在服务器上运行此命令,则会将我重定向到http://localhost:8080/data/main
如何确保重定向也在域名上工作?如果您的应用程序服务器位于web服务器后面,则此问题可能是由web服务器配置引起的。此问题可以通过在httpd.conf或apache2.conf文件中使用以下条目来解决:
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests关闭
代理主机
命令拒绝,允许
通融
如果应用程序服务器位于web服务器后面,则此问题可能是由web服务器配置引起的。此问题可以通过在httpd.conf或apache2.conf文件中使用以下条目来解决:
ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyRequests关闭
代理主机
命令拒绝,允许
通融
服务器前面是否有代理?如果是,它应该设置FORWARDED-FOR等头,这样Spring就可以使用这些头来构造一个正确的URL。服务器前面是否有代理?如果是,它应该设置FORWARDED-FOR-etc.header,这样Spring就可以使用这些头来构造正确的URL。