GateWay坑——context-path
GateWay坑——context-path环境准备正确路由context-path和application.name不一致注册中心Gateway网关设置访问结果路由失败context-path和application.name一致注册中心Gateway网关设置访问结果路由失败-原因路由失败-解决方案gateway.discovery.locator方案一方案二包装一层前缀环境准备eureka,g
·
GateWay坑——context-path
环境准备
eureka,gateway,要路由的服务(bit-msa-pasm-api)
正确路由
context-path和application.name不一致
注册中心
Gateway网关设置
访问结果
直接访问bit-msa-pasm-api
通过网关访问访问bit-msa-pasm-api
路由失败
context-path和application.name一致
注册中心
Gateway网关设置
访问结果
直接访问bit-msa-pasm-api
通过网关访问访问bit-msa-pasm-api
路由失败-原因
若配置路由URI为lb,则注册中心服务名称不能和server.servlet.context-path名称一致,否则contextPath会被改写为空字符串;
路由失败-解决方案
gateway.discovery.locator
重写过滤链
server:
port: 8899
spring:
cloud:
gateway:
discovery:
locator:
#是否与服务发现组件进行结合,通过serviceId转发到具体实例
#是否开启基于服务发现的路由规则
enabled: true
##表示将请求路径的服务名配置改成小写 ,因为服务注册的时候,向注册中心注册时将服务名转成大写的了
lowerCaseServiceId: true
filters:
- StripPrefix=0
routes:
- id: after_route
uri: lb://bit-msa-pasm-api
predicates:
- Path=/bit-msa-pasm-api/service/**
方案一
方案二
包装一层前缀
server:
port: 8899
spring:
cloud:
gateway:
discovery:
locator:
#是否与服务发现组件进行结合,通过serviceId转发到具体实例
#是否开启基于服务发现的路由规则
enabled: true
##表示将请求路径的服务名配置改成小写 ,因为服务注册的时候,向注册中心注册时将服务名转成大写的了
lowerCaseServiceId: true
routes:
- id: after_route
uri: lb://bit-msa-pasm-api
predicates:
- Path=/xxx/bit-msa-pasm-api/service/**
filters:
- StripPrefix=1
更多推荐
已为社区贡献1条内容
所有评论(0)