欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springcloud 服务网关Zuul实战(二)路由访问映射规则

程序员文章站 2022-03-15 17:09:43
...

上篇文中已经讲完基本的路由配置,但是我们如何对访问的微服务做映射

访问的地址:http://myzuul.com:9527/microservicecloud-dept/dept/get/2

从访问地址可以分析出我们真实的微服务名字,我们为了安全起见将真实的微服务名字隐藏,暴露虚拟的微服务名称

1,修改yml文件

增加下面的

springcloud 服务网关Zuul实战(二)路由访问映射规则

相关yml文件配置如下

server: 
  port: 9527
 
spring: 
  application:
    name: microservicecloud-zuul-gateway
 
eureka: 
  client: 
    service-url: 
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka  
  instance:
    instance-id: gateway-9527.com
    prefer-ip-address: true 

zuul:
  #ignored-services: microservicecloud-dept
  #prefix: /atguigu
  #ignored-services: "*"
  routes:
    mydept.serviceId: microservicecloud-dept
    mydept.path: /mydept/**

 
info:
  app.name: atguigu-microcloud
  company.name: www.atguigu.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$

访问http://myzuul.com:9527/mydept/dept/get/1

springcloud 服务网关Zuul实战(二)路由访问映射规则

我们来访问下没有映射的地址试试   http://myzuul.com:9527/microservicecloud-dept/dept/get/2

springcloud 服务网关Zuul实战(二)路由访问映射规则

似乎也能访问,好像没有起到屏蔽的作用,那怎么办呢?

我们加一句这样的配置  ignored-services: microservicecloud-dept(忽略这个真实的微服务)

springcloud 服务网关Zuul实战(二)路由访问映射规则

 

我们在重新启动访问 http://myzuul.com:9527/microservicecloud-dept/dept/get/2

springcloud 服务网关Zuul实战(二)路由访问映射规则

原来的真实微服务名称就已经屏蔽,无法访问

http://myzuul.com:9527/mydept/dept/get/3 这个虚拟路径正常

springcloud 服务网关Zuul实战(二)路由访问映射规则

下面我们在讲一下为微服务名称设置统一的访问路径前缀pom文件配置修改,增加前缀配置

springcloud 服务网关Zuul实战(二)路由访问映射规则

增加之后访问http://myzuul.com:9527/mydept/dept/get/3  无法访问,原因是访问路径设置了前缀

springcloud 服务网关Zuul实战(二)路由访问映射规则

访问路径增加了前缀之后  http://myzuul.com:9527/atguigu/mydept/dept/get/3  正常访问

springcloud 服务网关Zuul实战(二)路由访问映射规则

 

到这里我们也基本讲完了映射规则,但是有一点我们这里需要提一下,假设我们要忽略很多真实的微服务,我们如何屏蔽,其实很简单只需要将pom文件配置修改,将具体的要屏蔽的真实微服务改成   "*"

springcloud 服务网关Zuul实战(二)路由访问映射规则

好了就是这么简单,到这里讲完了

如果觉得我写的可以,我们一起学习springcloud技术,欢迎加入java学习讨论群725562382