路由访问映射规则:
application.yml配置文件:
server:
port: 9527
spring:
application:
name: microservicecloud-zuul-9527-gatway
# 配置网关路由映射规则,也就是把mydept映射到microservicecloud-dept(服务IP地址),
#没配置这之前访问是:https://mydept.com:9527/microservicecloud-dept/dept/get/1
#配置之后访问是:https://mydept.com:9527/mydept/dept/get/1
#这个配置就是把重要的服务IP地址信息保护起来,不重要的信息暴露出来。
zuul:
routes:
mydept.serviceId: microservicecloud-dept
mydept.path: /mydept/**
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
info:
app.name: lyj-microcloud
company.name: www.lyj.com
build.artifactId: $project.artifactId$
build.version: $project.version$
下图是个映射规则图:
但存在如下一个问题,
解决办法:
在application.yml文件里配置“ignored-services=服务ip地址”
完整的配置如下:
server:
port: 9527
spring:
application:
name: microservicecloud-zuul-9527-gatway
# 配置网关路由映射规则,也就是把mydept映射到microservicecloud-dept(服务IP地址),
#没配置这之前访问是:https://mydept.com:9527/microservicecloud-dept/dept/get/1
#配置之后访问是:https://mydept.com:9527/mydept/dept/get/1
#这个配置就是把重要的服务IP地址信息保护起来,不重要的信息暴露出来。
zuul:
ignored-services: microservicecloud-dept #禁止这个服务IP地址可以访问
routes:
mydept.serviceId: microservicecloud-dept
mydept.path: /mydept/**
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
info:
app.name: lyj-microcloud
company.name: www.lyj.com
build.artifactId: $project.artifactId$
build.version: $project.version$
如果想禁止所有的服务IP地址访问,改成下面的:
ignored-services: "*" #禁止这个服务IP地址可以访问
如果想把访问路径设置成统一的公共前缀,则在application.yml需要添加如下配置:prefix:。。。。
zuul:
prefix: /springcloud #设置访问路径统一的前缀
# ignored-services: microservicecloud-dept #禁止这个服务IP地址可以访问
ignored-services: "*" #禁止所有服务IP地址可以访问
routes:
mydept.serviceId: microservicecloud-dept
mydept.path: /mydept/**
访问路径就变成了http://myzuul.com:9527/springcloud/mydept/dept/get/1
运行截图: