【发布时间】:2021-07-05 02:02:12
【问题描述】:
我在 Spring Cloud Gateway (SCG) 中实现了速率限制。我使用以下代码获取客户端 IP 地址
@Component
public class RemoteAddressKeyResolver implements KeyResolver {
@Override
public Mono<String> resolve(ServerWebExchange exchange) {
return Mono.just(exchange.getRequest().getRemoteAddress().getAddress().getHostAddress());
}
}
我的 SCG 在代理后面,因此它获取代理地址而不是真实客户端地址。如何获取真实的客户地址?
【问题讨论】:
-
我的代理添加了 X-Forwarded-* 标头,SCG 如何捕获这些标头?
标签: java spring spring-cloud-gateway