From 0fb4e2563e360f0084db5f21bd0c0f1e6b2adcd8 Mon Sep 17 00:00:00 2001 From: zzs <hi@vio.vin> Date: Wed, 5 Mar 2025 09:47:36 +0800 Subject: [PATCH] Revert "feat: gateway config" This reverts commit 5d120f24ffa7733c68f0af1de4f9d08b6bd798fc. --- .../dev/RealIpGatewayFilterFactory.java | 84 ------------------- .../src/main/resources/application.yaml | 4 - 2 files changed, 88 deletions(-) delete mode 100644 wmyun-gateway/src/main/java/com/wmyun/gateway/filter/dev/RealIpGatewayFilterFactory.java diff --git a/wmyun-gateway/src/main/java/com/wmyun/gateway/filter/dev/RealIpGatewayFilterFactory.java b/wmyun-gateway/src/main/java/com/wmyun/gateway/filter/dev/RealIpGatewayFilterFactory.java deleted file mode 100644 index b3e0e1f..0000000 --- a/wmyun-gateway/src/main/java/com/wmyun/gateway/filter/dev/RealIpGatewayFilterFactory.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.wmyun.gateway.filter.dev; - -import lombok.Data; -import lombok.Getter; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.cloud.gateway.filter.GatewayFilter; -import org.springframework.cloud.gateway.filter.factory.AbstractGatewayFilterFactory; -import org.springframework.http.server.reactive.ServerHttpRequest; -import org.springframework.stereotype.Component; - -import java.net.URI; -import java.util.Arrays; -import java.util.List; - -/** - * @Description: TODO - * @Date: 2025/3/4 14:17 - * @Created: by ZZSLL - */ - -@Component -public class RealIpGatewayFilterFactory extends AbstractGatewayFilterFactory<RealIpGatewayFilterFactory.Config> { - - private static final Logger logger = LoggerFactory.getLogger(RealIpGatewayFilterFactory.class); - - public RealIpGatewayFilterFactory() { - super(Config.class); - } - - @Override - public GatewayFilter apply(Config config) { - return (exchange, chain) -> { - // 获取 X-Real-IP 的值 - ServerHttpRequest request = exchange.getRequest(); - String realIp = request.getHeaders().getFirst("X-Real-IP"); - - logger.info("realIp: {}", realIp); - - if (realIp != null) { - // 记录原始请求地址 - URI originalUri = request.getURI(); - logger.info("Original request URI: {}", originalUri); - String rawQuery = originalUri.getRawQuery(); - - // 构建新的 URI - URI modifiedUri = URI.create( - originalUri.getScheme() + "://" + realIp + ":" + config.getPort() + originalUri.getRawPath() + (rawQuery != null ? "?" + rawQuery : "") - ); - - // 记录修改后的请求地址 - logger.info("Modified request URI: {}", modifiedUri); - - // 修改请求 - ServerHttpRequest modifiedRequest = request.mutate() - .uri(modifiedUri) - .build(); - - return chain.filter(exchange.mutate().request(modifiedRequest).build()); - } - - // 如果没有 X-Real-IP,继续使用原始请求 - logger.info("No X-Real-IP header found, using original request URI: {}", request.getURI()); - return chain.filter(exchange); - }; - } - @Override - public List<String> shortcutFieldOrder() { - return List.of("port"); - } - - - public static class Config { - private int port; - - public int getPort() { - return port; - } - - public void setPort(int port) { - this.port = port; - } - } -} \ No newline at end of file diff --git a/wmyun-gateway/src/main/resources/application.yaml b/wmyun-gateway/src/main/resources/application.yaml index a0cd92f..fd92a8e 100644 --- a/wmyun-gateway/src/main/resources/application.yaml +++ b/wmyun-gateway/src/main/resources/application.yaml @@ -25,14 +25,12 @@ spring: - Path=/admin-api/system/** filters: - RewritePath=/admin-api/system/v3/api-docs, /v3/api-docs # 配置,保证转发到 /v3/api-docs - - RealIp=48081 - id: system-app-api # 路由的编号 uri: grayLb://system-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/app-api/system/** filters: - RewritePath=/app-api/system/v3/api-docs, /v3/api-docs - - RealIp=48081 ## infra-server 服务 - id: infra-admin-api # 路由的编号 uri: grayLb://infra-server @@ -40,14 +38,12 @@ spring: - Path=/admin-api/infra/** filters: - RewritePath=/admin-api/infra/v3/api-docs, /v3/api-docs - - RealIp=48082 - id: infra-app-api # 路由的编号 uri: grayLb://infra-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组 - Path=/app-api/infra/** filters: - RewritePath=/app-api/infra/v3/api-docs, /v3/api-docs - - RealIp=48082 - id: infra-spring-boot-admin # 路由的编号(Spring Boot Admin) uri: grayLb://infra-server predicates: # 断言,作为路由的匹配条件,对应 RouteDefinition 数组