我最近将SpringBoot从1.5升级到了2.4,并且在生成hateoas链接时遇到了这个问题 http
计划代替 https
.
后来我发现,对于SpringBoot2.2+,必须使用以下属性
server.forward-headers-strategy=NATIVE
哪一个可以有一个 NATIVE
或 FRAMEWORK
或 NONE
. NONE
属性是非常直接的,它完全禁止使用前向标头。
但没有关于这一问题的明确文件 NATIVE
vs FRAMEWORK
. 我在很多地方都看到有人提到 NATIVE
在大多数情况下效果最好。但是当我们使用这些属性时,没有解释在幕后到底发生了什么。
我正在使用带有外部tomcat和 Hateoas
用于生成链接。
我如何决定是否使用 NATIVE
或 FRAMEWORK
财产?什么时候应该选择其中一个,为什么?
我已经试过了:
https://github.com/spring-projects/spring-boot/issues/18667
https://github.com/spring-projects/spring-boot/wiki/spring-boot-2.2-release-notes#deprecations-in-spring-boot-22
https://docs.spring.io/spring-framework/docs/5.1.3.release/spring-framework-reference/web.html#filters-转发头
1条答案
按热度按时间uz75evzq1#
FRAMEWORK
使用spring的支持来处理转发的头。例如,spring boot会创建一个ForwardedHeaderFilter
SpringMVC的bean。如果使用spring hateoas,
FRAMEWORK
建议使用。NATIVE
使用基础容器对转发头的本机支持。底层容器指tomcat、jetty、netty等。参考文献
serverproperties.forwardheadersstrategy javadoc
spring-hateoas转发头处理