Skip to content

Commit f1d5911

Browse files
authored
Fix the problem of not being able to resolve headers correctly (#6786)
#### What type of PR is this? /kind bug /area core /milestone 2.20.x #### What this PR does / why we need it: This PR changes server.forward-header-strategy to native instead of framework due to a bug of Spring Framework 6.20.0-RC.1. See spring-projects/spring-framework#32097 (comment) for more. If Halo server is proxied by OpenResty which is using HTTP 2, all header names proxied into Halo server will be lowercase. This behavior makes Halo get a null header(e.g.:: `content-type: application/json`) while invoking `request.getHeaders().getContentType()`. And I found that `ServerHttpRequest` is mutated by `org.springframework.web.server.adapter.ForwardedHeaderTransformer`, so I try to use native forward-header-strategy to resolve the problem and it works very well. See [reactor.netty.http.server.DefaultHttpForwardedHeaderHandler](https://github.com/reactor/reactor-netty/blob/446683826b3020782fe3d647ef264ca7eace94f6/reactor-netty-http/src/main/java/reactor/netty/http/server/DefaultHttpForwardedHeaderHandler.java) for more. #### Does this PR introduce a user-facing change? ```release-note None ```
1 parent 1d31d32 commit f1d5911

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

application/src/main/resources/application.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
server:
22
port: 8090
3-
forward-headers-strategy: framework
3+
forward-headers-strategy: native
44
compression:
55
enabled: true
66
error:

application/src/test/java/run/halo/app/XForwardHeaderTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import reactor.test.StepVerifier;
1818

1919
@SpringBootTest(webEnvironment = RANDOM_PORT,
20-
properties = "server.forward-headers-strategy=framework")
20+
properties = "server.forward-headers-strategy=native")
2121
class XForwardHeaderTest {
2222

2323
@LocalServerPort

0 commit comments

Comments
 (0)