关于Spring Cloud gateway的几项配置说明

关于Spring Cloud gateway的几项配置说明

通过自动发现配置路由

该功能不需要在配置文件中配置路由信息,Spring Cloud gateway会自动的从注册中心拉取注册到注册中心的服务信息,并将服务名做为路由断言来进行路由,这里Spring Cloud gateway会自动加一个过虑器重写路由后的路径并将前缀去掉,所以在请求时需要添加/服务名的前缀,这一配置由以下几个配置控制。

spring:
    gateway:
      discovery:
        locator:
          route-id-prefix: '路由名前缀默认为discovery的类名'
          #是否将服务名转换成小写
          lower-case-service-id: false  
          #是否开启服务发现路由,如果已经在配置文件中配置了就不要开启此功能
          enabled: false

RouteDefinitionLocator 接口

RouteDefinitionLocator定义了获取路由配置的规范,这里的自动发现路由是由DiscoveryClientRouteDefinitionLocator (实现了以上接口)完成的,它会持有一个服务发现实例,并从注册中心摘取服务名并生成对应的路由信息。

**注:**如果想从其它途径获取路由定义可以编写对应的路由获取实现。

Spring Cloud gateway 路由配置

路由配置的几种方式

spring:
  cloud:
    gateway:
      # id不能重复
      routes:
        - id: portal
        #直接配置地址
          uri: http://localhost:8191/portal
          predicates:
            - Path=/portal/**
        - id: bussiz
        #通过服务名配置 需要gateway也注册到注册中心
          uri: lb://bussiz
          predicates:
            - Path=/bussiz/**  
          filters:
            - AddRequestHeader=Key, Value
            - AddRequestParameter=paramName, paramValue
            #重写URL这个用的比较多 把/api 去掉
            - RewritePath=/api/(?<segment>.*), /$\{segment}
#请求匹配可以通过请求路径、时间,请求头等,上面主要是通过请求路径
- Path=/portal/**
- Header=X-Request-Id, \d+ 
- Host=**.somehost.org,**.anotherhost.org
- Before=2017-01-20T17:42:47.789-07:00[Asia/Shanghai]
- After=2017-01-20T17:42:47.789-07:00[Asia/Shanghai]
- Between=2017-01-20T17:42:47.789-07:00[Asia/Shanghai], 2017-01-21T17:42:47.789-07:00[Asia/Shanghai]
## 通过cookie进行转发 第一个参数为cookie名称,第二个是正规表达式
- Cookie=name, ch.p
- Method=GET,POST
- Query=red, gree.
- RemoteAddr=192.168.1.1/24

其它配置请参数文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值