学科分类
目录
Spring Cloud

服务路由的默认规则

在Zuul快速入门案例中,我们尝试使用浏览器访问http://localhost:8835/eureka-consumer/hi?id=12,虽然创建的gateway-zuul工程的配置文件中并没有相应的服务路由配置,但是却能够成功访问并且返回结果。原因就是Zuul有自己的默认服务路由规则。

默认情况下,Zuul会自动为Eureka服务注册中心的所有服务创建映射关系进行路由,这会使得一些我们不希望对外开放的服务也可能被外部访问到。当使用服务名称作为前缀路径时,实际上会匹配类似下面的默认路由配置:

zuul:
  Routes:
    eureka-consumer:
      path: /eureka-consumer/
      serviceId: eureka-consumer

如果不想使用默认的路由规则,可以在配置文件中加入下列内容,即可关闭所有默认的路由配置规则。

zuul: 
 ignored-services: '*'

使用上述方式关闭默认的路由配置后,此时我们需要在配置文件中逐个为需要路由的服务添加映射规则。当然可以使用path与serviceId 组合的配置方式,也可以使用更简洁的zuul.routes.<serviceId>=<path>配置方式,只有在配置文件中出现的映射规则会被创建路由,而从Eureka中获取的其他服务,Zuul将不会再为它们创建路由规则。

点击此处
隐藏目录