3.1 Gateway之路由请求和转发

1.依赖坐标

xml 复制代码
		<!--网关-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <!--服务注册和发现-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--负载均衡-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>

2.路由属性

网关路由对应的Java类型是RouteDefinition,其中常见的属性有

属性 描述
id 路由唯一标识
uri 路由目标地址
predicates 路由断言,判断请求是否符合当前路由
filter 路由过滤器,对请求或响应做特殊处理

3.常用路由过滤器

过滤器 说明
AddRequestHeader 给当前请求添加一个请求头
RemoveRequestHeader 移除请求中的一个请求头
AddResponseHeader 给响应结果中添加一个响应头
RemoveResponseHeader 移除响应结果中的一个响应头
RewritePath 请求路径重写
StripPrefix 去除请求路径中的N段前缀

4.常见路由断言

名称 说明
After 是某个时间点后的请求
Before 是某个时间点之前的请求
Between 是某两个时间点之间的请求
Cookie 请求必须包含某些cookie
Header 请求必须包含某些header
Host 请求必须是访问某个域名
Method 请求方式必须是指定方式
Path 请求路径必须符合指定规则
Query 请求参数必须包含指定参数
RomoteAddr 请求者的IP必须是指定范围
Weight 权重处理
XForwarded Remote Addr 基于请求的来源IP做判断

5.配置文件

yaml 复制代码
spring:
  application:
    # 服务名称
    name: 服务名称
  cloud:
    # nacos配置
    nacos:
      # Nacos服务端地址
      server-addr: 端口:IP
      # 服务注册
      discovery:
        # 集群名称
        cluster-name: 集群名称
        # 命名空间ID
        namespace: 命名空间ID
        # 是否是临时实例,默认为true
        ephemeral: true
    # 网关配置
    gateway:
      # 路由配置
      routes:
        - id: 路由唯一标识
          uri: 路由目标地址 # 例如:lb://服务名
          predicates:
            - Path=请求路径 # 例如:/users/**
        - id: 路由唯一标识
          uri: 路由目标地址 # 例如:lb://服务名
          predicates:
            - 请求路径 # 例如:/orders/**
相关推荐
一个儒雅随和的男子1 天前
Spring cloud组件gateway网关详细剖析
spring·spring cloud·gateway
超梦dasgg2 天前
Gateway 鉴权场景:网关统一鉴权 + 业务应用决定放行规则
java·gateway
木雷坞2 天前
AI Gateway 接入大模型服务后首 token 慢排查:镜像、模型缓存和 GPU 节点
人工智能·缓存·gateway
明夜之约2 天前
Spring Cloud Gateway 深度解析:从路由原理到生产级网关实战
java·spring·spring cloud·gateway
tyler_download4 天前
深入深出openclaw:gateway 服务进程的启动逻辑
gateway
Upsy-Daisy4 天前
OpenClaw 源码解析(七):Gateway 控制平面与 WebSocket RPC 机制
websocket·平面·gateway
香菜烤面包4 天前
SGLang Model Gateway 核心功能解析
gateway
a752066287 天前
Windows 11运行OpenClaw(小龙虾)完整指南:从下载到Gateway在线
人工智能·windows·gateway·小龙虾·ai 办公自动化·小龙虾一键部署
阿里-于怀9 天前
告别 Ingress Nginx:云原生 API 网关 Gateway API 使用指引
nginx·云原生·gateway
comcoo10 天前
OpenClaw AI 聊天网关配置教程|Gateway 启动与完整使用指南
运维·人工智能·elasticsearch·gateway·openclaw安装包·open claw部署