Skip to content

Commit 8d79a17

Browse files
committed
Make ForwardedHeadersFilter.serverPort nullable
See gh-2658
1 parent 6ce73c6 commit 8d79a17

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,10 +317,11 @@ public SecureHeadersProperties secureHeadersProperties() {
317317

318318
@Bean
319319
@ConditionalOnProperty(name = "spring.cloud.gateway.forwarded.enabled", matchIfMissing = true)
320-
public ForwardedHeadersFilter forwardedHeadersFilter(Environment env) {
320+
public ForwardedHeadersFilter forwardedHeadersFilter(Environment env, ServerProperties serverProperties) {
321321
boolean forwardedByEnabled = env.getProperty("spring.cloud.gateway.forwarded.by.enabled", Boolean.class, false);
322322
ForwardedHeadersFilter forwardedHeadersFilter = new ForwardedHeadersFilter();
323323
forwardedHeadersFilter.setForwardedByEnabled(forwardedByEnabled);
324+
forwardedHeadersFilter.setServerPort(serverProperties.getPort());
324325
return forwardedHeadersFilter;
325326
}
326327

spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/headers/ForwardedHeadersFilter.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.apache.commons.logging.Log;
3030
import org.apache.commons.logging.LogFactory;
3131

32-
import org.springframework.beans.factory.annotation.Value;
3332
import org.springframework.core.Ordered;
3433
import org.springframework.http.HttpHeaders;
3534
import org.springframework.http.server.reactive.ServerHttpRequest;
@@ -45,8 +44,7 @@
4544
*/
4645
public class ForwardedHeadersFilter implements HttpHeadersFilter, Ordered {
4746

48-
@Value("${server.port}")
49-
private int serverPort;
47+
private Integer serverPort;
5048

5149
private final Log logger = LogFactory.getLog(getClass());
5250

@@ -104,6 +102,10 @@ public void setForwardedByEnabled(boolean forwardedByEnabled) {
104102
this.forwardedByEnabled = forwardedByEnabled;
105103
}
106104

105+
public void setServerPort(Integer serverPort) {
106+
this.serverPort = serverPort;
107+
}
108+
107109
@Override
108110
public int getOrder() {
109111
return 0;
@@ -179,7 +181,7 @@ private void addForwardedByHeader(Forwarded forwarded) {
179181
if (localAddress instanceof Inet6Address) {
180182
byValue = "[" + byValue + "]";
181183
}
182-
if (serverPort > 0) {
184+
if (serverPort != null && serverPort > 0) {
183185
byValue = byValue + ":" + serverPort;
184186
}
185187
forwarded.put("by", byValue);

0 commit comments

Comments
 (0)