【问题标题】:Spring boot redirecting to localhost from context-pathSpring Boot 从上下文路径重定向到 localhost
【发布时间】:2021-02-03 08:34:27
【问题描述】:

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

server.servlet.context-path=/data

我有一个控制器应该重定向访问上下文路径 url 的每个人:

@RequestMapping("/")
public String contextRootRedirect(){
    return "redirect:/main";
}

这在 localhost 上运行良好,每当我访问 127.0.0.1:8080/data 时,我都会被重定向到 127.0.0.1:8080/data/main 但是,如果我在服务器上运行它,那么 http://domainname.com/data 会将我重定向到 http://localhost:8080/data/main

如何确保重定向也适用于域名?

【问题讨论】:

  • 服务器前面有代理吗?如果是,它应该设置 FORWARDED-FOR 等标头,以便 Spring 可以使用它们来构造正确的 URL。

标签: spring spring-boot redirect


【解决方案1】:

如果您的应用程序服务器位于 Web 服务器之后,则此问题可能是由您的 Web 服务器配置引起的。可以通过在 httpd.conf 或 apache2.conf 文件中使用以下条目来解决此问题:

ProxyRequests Off
ProxyPreserveHost On

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

【讨论】:

    猜你喜欢
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 2019-12-10
    • 2021-08-10
    • 2019-08-22
    • 1970-01-01
    • 2015-08-09
    相关资源
    最近更新 更多