上篇文中已经讲完基本的路由配置,但是我们如何对访问的微服务做映射
访问的地址:http://myzuul.com:9527/microservicecloud-dept/dept/get/2
从访问地址可以分析出我们真实的微服务名字,我们为了安全起见将真实的微服务名字隐藏,暴露虚拟的微服务名称
1,修改yml文件
增加下面的
相关yml文件配置如下
server: port: 9527spring: application:name: microservicecloud-zuul-gatewayeureka: client: service-url: defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka instance:instance-id: gateway-9527.comprefer-ip-address: true zuul:#ignored-services: microservicecloud-dept#prefix: /atguigu#ignored-services: "*"routes:mydept.serviceId: microservicecloud-deptmydept.path: /mydept/**info:app.name: atguigu-microcloudcompany.name: www.atguigu.combuild.artifactId: $project.artifactId$build.version: $project.version$
访问http://myzuul.com:9527/mydept/dept/get/1
我们来访问下没有映射的地址试试 http://myzuul.com:9527/microservicecloud-dept/dept/get/2
似乎也能访问,好像没有起到屏蔽的作用,那怎么办呢?
我们加一句这样的配置 ignored-services: microservicecloud-dept(忽略这个真实的微服务)
我们在重新启动访问 http://myzuul.com:9527/microservicecloud-dept/dept/get/2
原来的真实微服务名称就已经屏蔽,无法访问
http://myzuul.com:9527/mydept/dept/get/3 这个虚拟路径正常
下面我们在讲一下为微服务名称设置统一的访问路径前缀pom文件配置修改,增加前缀配置
增加之后访问http://myzuul.com:9527/mydept/dept/get/3 无法访问,原因是访问路径设置了前缀
访问路径增加了前缀之后 http://myzuul.com:9527/atguigu/mydept/dept/get/3 正常访问
到这里我们也基本讲完了映射规则,但是有一点我们这里需要提一下,假设我们要忽略很多真实的微服务,我们如何屏蔽,其实很简单只需要将pom文件配置修改,将具体的要屏蔽的真实微服务改成 "*"
好了就是这么简单,到这里讲完了