【问题标题】:How do you change the hostname in Spring Data REST HATEOAS links?如何更改 Spring Data REST HATEOAS 链接中的主机名?
【发布时间】:2014-11-17 13:08:02
【问题描述】:

我有一个带有 Spring Data Rest 的 Spring Boot 应用程序,我通过带有嵌入式 Tomcat 的 jar 文件进行部署。该应用程序在端口 8080 上运行,但在 Tomcat 前面有一个 httpd 用于传递请求。 现在应用程序带有 HATEOAS 链接,我在我的 JS-Client 中使用它。 响应如下所示:

{
  "property" : "value"
  "_links" : {
    "self" : {
      "href" : "http://my.server:8080/resource/1"
    }
  }
}

我的问题是,由于我通过 my.server 访问应用程序,因此应用程序响应 my.server:8080 的 href,而无法从外部访问。 如何在不让 tomcat 在端口 80 下运行的情况下将 href 主机名更改为 my.server(没有端口)? 我尝试继承 RepositoryRestMvcConfiguration 并设置 baseURI,但这不起作用,因为我得到了 404。

【问题讨论】:

标签: spring apache tomcat spring-boot spring-data-rest


【解决方案1】:

如果您可以将 httpd 配置为不更改 HOST 标头,您将获得您所追求的,因为默认链接构建器使用 HOST 标头来构造 URL。

或者,您可以让您的 httpd 附加一个 X-Forwarded-Host 标头,它使用 HOST 标头覆盖 URL 构造。

【讨论】:

    猜你喜欢
    • 2016-05-23
    • 2016-12-07
    • 2013-10-31
    • 2014-03-07
    • 1970-01-01
    • 2014-08-16
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多