zuul routes的配置规则介绍

本文介绍了Spring Cloud Zuul中ZuulServlet的核心作用,并详细解析了如何通过YAML配置文件设置路由规则,包括RibbonRoutingFilter、SimpleHostRoutingFilter和SendForwardFilter的使用。示例配置展示了如何自定义路由路径、指定服务ID或URL,以及如何忽略某些路径。同时,提到了prefix配置项的作用,它会影响所有请求的前缀。实例中,网关服务运行在9100端口,后端服务service-sms位于8001端口,提供/send/msg接口。

Zuul最核心的类就是ZuulServlet。使用springcloud的zuul网关,配置routes的规则时,对于routes类型的系统filter有三种:RibbonRoutingFilter、SimpleHostRoutingFilter、SendForwardFilter。

对于使用yaml配置zuul的routes规则介绍,直接看配置文件及注释:

zuul:
  ##敏感头配置为空之后,所有head内容透传给后端服务,即后端服务也可以获取到请求头信息,一般不配置,因为网关就把头部信息的逻辑包了
  sensitive-headers:
  #配置自定义路由规则,不配置routes,使用服务名访问的话默认走RibbonRoutingFilter
  # 不配置routes 使用 http://localhost:9100/service-sms/send/msg可以访问
  routes:
    ##配置path+url 走SimpleHostRoutingFilter 跳转到指定的 URL 中
    # 使用 http://localhost:9100/mytttttt/send/msg 可以访问
    ##provider1这个名称随便写
    provider1:
      path: /mytttttt/**
      url: http://localhost:8001/
    #配置path+servcieId,走默认的RibbonRoutingFilter
    # 使用 http://localhost:9100/mysuibian/send/msg 可以访问
    provider2:
      path: /mysuibian/**
      serviceId: service-sms
    #配置path+servcieId,可以配置多个 使用 http://localhost:9100/suibian/send/msg 可以访问
    provider3:
      path: /suibian/**
      serviceId: service-sms
  # 配置ignored-patterns之后 使用 http://localhost:9100/suibian/send/msg 不可以访问,其他的 /mytttttt/send/msg,/mysuibian/send/msg,/service-sms/send/msg都可以访问
  ignored-patterns: /**/suibian/**
  #配置prefix之后,所有的请求都需要加上/api才能访问,/mytttttt/send/msg,/mysuibian/send/msg,/service-sms/send/msg无法访问,需要使用/api/mytttttt/send/msg,/api/mysuibian/send/msg,/api/service-sms/send/msg进行访问
  prefix: /api

环境说明:

我的网关服务端口是9100.

我的后端服务在eureka中的application.name是service-sms, 这个服务的端口是8001,这个服务提供了一个/send/msg接口

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值