我们有一个使用spring运行的restate api,它可以生成HATEOAS链接。当我在本地运行服务时,它们生成正常,但是在我们的服务器上,托管在apache后面的tomcat代理应用程序到/ api /(本地它只是在/上运行),网址仍然生成就像运行应用程序一样/.
有没有办法告诉spring在生成这些时使用基本URL?
答案 0 :(得分:5)
我已经弄清楚了我的问题。春天没有错。构建链接时,spring使用X-Forwarded-Host,X-Forwarded-Ssl等,从4.1.3开始,X-Forwarded-Prefix正确构建将由代理转发的URL。然而,最后一个在代理时不会由apache自动设置,因此安装mod_headers并将RequestHeader set X-Forwarded-Prefix "api"
添加到我的LocationMatch指令解决了所有问题。