Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring引导从上下文路径重定向到本地主机_Spring_Spring Boot_Redirect - Fatal编程技术网

Spring引导从上下文路径重定向到本地主机

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时,就会被重

我有一个Spring引导应用程序,其中上下文路径如下:

server.servlet.context path=/data

我有一个控制器,可以重定向所有访问contextpath url的人:

@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。