我有一个最小的spring boot web应用程序在外部tomcat上运行。我不得不从SpringBoot1.x迁移到2.y。但是在迁移之后,hateoas链接使用的是节点地址,而不是 forwarded-header-*
从代理服务器发送。
因此,建议的一般解决方案是在app.properties中添加以下属性。
spring server.forward-headers-strategy=native
但这只适用于嵌入式tomcat,而不适用于外部tomcat。虽然将此值设置为framework会创建 ForwardHeaderFilter
bean并解决了这个问题,我想了解为什么它不能在外部tomcat环境中工作。
我在这里问了一个类似的问题,以理解两者之间的区别 native
及 framework
.
@SpringBootApplication
public class HibernateApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(HibernateApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(HibernateApplication.class);
}
}
它在Spring Boot中工作得非常好 1.5.10.RELEASE
. 但他停止了工作 2.4.6
. 我不确定是否必须向外部tomcat web应用程序添加任何附加属性。
暂无答案!
目前还没有任何答案,快来回答吧!