网关安全策略
第一章:小区智能总闸机
如果把微服务集群比作一个大型社区,API网关就是主入口的智能闸机系统。它承担着三大核心职责:
- 分流引导:像快递分拣中心,把包裹(请求)送到正确楼栋
- 安全初筛:识别伪造通行证(非法令牌)和可疑人员(恶意IP)
- 流量管控:高峰期限制进入社区的快递车数量(限流)
基础配置如同安装闸机硬件:
@Configuration
public class GatewayConfig {
// 配置智能闸机系统
@Bean
public RouteLocator routes(RouteLocatorBuilder builder) {
return builder.routes()
.route("delivery-service", r -> r.path("/api/delivery/**")
.filters(f -> f
.tokenRelay() // 自动传递通行证
.stripPrefix(1) // 去掉路径前缀
.circuitBreaker(c -> c.setName("deliveryCB"))) // 短路保护
.uri("lb://delivery-service")) // 指向派送服务中心
.route("user-service", r -> r.path("/api/users/**")
.filters(f -> f
.removeRequestHeader("Cookie") // 清理敏感信息
.requestRateLimiter(l -> l.setKeyResolver(exchange ->
Mono.just(exchange.getRequest().getRemoteAddress().getHostName())))) // IP限流
.uri("lb://user-service"))
.build();