设置PrefixPath和URI时,为什么我的Spring Cloud网关路由不起作用

时间:2019-09-05 11:44:07

标签: spring-cloud spring-cloud-gateway

我在其他微服务的前面有一个Spring Cloud Gateway。网关还用作身份验证层。我的网关位于localhost:9000,而我的微服务希望将流量定向到具有localhost:8050上的谓词路径(/api/scd/secure/**)。我想给/ ms / platform加上前缀以到达位于我的微服务中的实际其余端点(因此/ms/platform/api/scd/secure/**)。我遇到的问题是,即使我将uri设置为localhost:8050,它也会使用网关uri作为最终目的地(因此localhost:9000/ms/platform/api/scd/secure/**

我已经尝试在Spring Cloud Gateway上进行大量阅读,以了解PrefixPath过滤器的工作原理,但是我阅读的所有内容都表明我的配置应该可以工作。

spring:
  cloud:
    gateway:
      routes:
      - id: scd_secure
        uri: http://localhost:8500
        predicates:
        - Path=/api/scd/secure/**
        filters:
        - PrefixPath=/ms/platform
        - GatewaySecurityFilter

我希望在我的GatewaySecurityFilter中,exchange.getRequest uri为localhost:8050/ms/platform/api/scd/secure/**,但最终以localhost:9000/ms/platform/api/scd/secure/**

结尾

0 个答案:

没有答案