GateWay 多路由 第二个路由的服务无法访问
来源:10-7 自定义路由谓词工厂
慕村9469909
2020-03-16
在这里输入代码
gateway:
discovery:
locator:
enabled: true
routes:
- id: goods
uri: lb://wxzm-goods
predicates:
- After=2010-01-20T17:42:47.789-07:00[America/Denver]
- id: test
uri: lb://wxzm-user
predicates:
- RemoteAddr=192.168.1./255
多个路由 自由第一个路由有用
比如说上面配置
localhost:8888/goods/queryAll 能够访问。(goods 服务 feign user 服务)
localhost:8888/user/querAll 404 (user 服务 feign good服务)
吧id goods test 互换一下。
那么请求的结果就是
localhost:8888/goods/queryAll 404(goods 服务 feign user 服务)
localhost:8888/user/querAll 能够访问。 (user 服务 feign good服务)
请求http://localhost:8888/statistics/feignQueryAll
server:
port: 8888
spring:
application:
name: wxzm-gateway
cloud:
nacos:
discovery:
server-addr: 47.107.232.244:8848
gateway:
discovery:
locator:
enabled: true
routes:
- id: goods
uri: lb://wxzm-goods
predicates:
- After=2010-01-20T17:42:47.789-07:00[America/Denver]
- id: test
uri: lb://wxzm-user
predicates:
- After=2010-01-20T17:42:47.789-07:00[America/Denver]
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
health:
show-details: always
logging:
level:
org.springframework.cloud.gateway: trace
5回答
-
上游猴子
2020-04-30
当配置的谓词工厂都不满足的时候,会走默认的路由配置,也就是 http://网关/{注册的服务名称}/{具体接口地址},不做任何的路由配置也是通过此格式请求具体服务的接口。
012020-04-30 -
上游猴子
2020-04-30
这种似乎是对的, 因为你请求网关时,只要满足 路由谓词工厂,那么他会拿到当前谓词工厂对应路由配置的uri, 在结合你请求的地址信息,去做转发。
无论你请求 goods 服务接口或 user 服务接口, 第一处谓词工厂满足,那么他自然是拿 第一处的 uri 做为转发的根据。
012020-04-30 -
大目
2020-03-16
我需要完整的代码。您贴出来的部分,我觉得没问题
00 -
大目
2020-03-16
哈哈,竟有此事?很有趣的一个问题哦!我看您的配置没啥问题…
能否提供下完整的代码呢?我来看看。022020-03-17 -
慕村9469909
提问者
2020-03-16
具体的配置00
相似问题