springCloud Gateway 网关的配置详解
项目用到了Gateway 作为网关,网关的相关使用场景很值得了解,还有路由配置。今天就来记录一下。开启基于注册中心的路由表。gateway可以通过开启以下配置来打开根据服务的serviceId来匹配路由,默认是大写:cloud:gateway:discovery:locator:enabled: true如果需要小写serviceId,则...
项目用到了Gateway 作为网关,网关的相关使用场景很值得了解,还有路由配置。今天就来记录一下。
开启基于注册中心的路由表。gateway可以通过开启以下配置来打开根据服务的serviceId来匹配路由,默认是大写:
cloud:
gateway:
discovery:
locator:
enabled: true
如果需要小写serviceId,则配置
spring.cloud.gateway.locator.lowerCaseServiceId:true
注意事项
不管小写大写,不能使用下划线,否则会报:
org.springframework.cloud.gateway.support.NotFoundException: Unable to find instance for localhost
所以服务的spring.application.name 必须用中划线而不是下划线
如果开启了lowerCaseServiceId,则只能用小写,不能识别大写,如果不开启,只能识别大写
也可以手动设置,在routes中配置 配置对应的类
这是每个路由信息的属性, 对应着.yml配置文件
可以看到 id 如果不写的话默认是uuid 唯一值。不可重复,
uri指需要跳转的地址, 这里的uri不是一个具体的地址了,而是lb://开头,加上serviceId
Predicates就是上面说的谓语了,可以配置多个,使用正则匹配.
请求地址携带/auth
则会跳转到我们配置的uri
这个是过滤器,对应的是filters 配置,有写好的过滤器,应该也可以自定义,
这里会先进行Predicates 判断,为true 如果有filters则进行相关过滤。之后再转发的相关服务。
更多的Predicates、filters操作
更多推荐
所有评论(0)