From 2b19fb0b9718c822f8d0075981e2c93a416a169e Mon Sep 17 00:00:00 2001 From: Poison Date: Fri, 13 Jan 2023 02:41:57 +0800 Subject: [PATCH] Remove unnecessary reverse (#2664) --- .../support/ipresolver/XForwardedRemoteAddressResolver.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/support/ipresolver/XForwardedRemoteAddressResolver.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/support/ipresolver/XForwardedRemoteAddressResolver.java index 4895c9b4..5a816f21 100644 --- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/support/ipresolver/XForwardedRemoteAddressResolver.java +++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/support/ipresolver/XForwardedRemoteAddressResolver.java @@ -109,9 +109,8 @@ public class XForwardedRemoteAddressResolver implements RemoteAddressResolver { @Override public InetSocketAddress resolve(ServerWebExchange exchange) { List xForwardedValues = extractXForwardedValues(exchange); - Collections.reverse(xForwardedValues); if (!xForwardedValues.isEmpty()) { - int index = Math.min(xForwardedValues.size(), maxTrustedIndex) - 1; + int index = Math.max(0, xForwardedValues.size() - maxTrustedIndex); return new InetSocketAddress(xForwardedValues.get(index), 0); } return defaultRemoteIpResolver.resolve(exchange);