我有一个带有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访问应用程序,所以应用程序以href响应my.server:8080,无法从外部访问。 如何在不让tomcat在端口80下运行的情况下将href主机名更改为my.server(没有端口)? 我尝试了子类化RepositoryRestMvcConfiguration并设置了baseURI,但这不起作用,因为我得到了404.
答案 0 :(得分:1)
如果您可以将httpd配置为不更改HOST标头,那么您将获得所需的内容,因为默认链接构建器使用HOST标头构建URL。
或者,您可以让httpd附加一个X-Forwarded-Host标头,该标头使用HOST标头覆盖URL构造。