Zuul 路由:一个端点具有多个微服务

Zuul routing : One endpoint with multiple microservices

我想以所有服务都在“/gateway”上下文下的方式设置 zuul 和底层微服务。

例如:

微服务 1 具有:http://localhost:8081/api/hello

微服务 2 有:http://localhost:8082/api/bye

我希望能够通过 zuul 访问微服务,如下所示:

微服务 1:http://localhost:8080/网关/microservice1/api/hello

微服务 2:http://localhost:8080/网关/microservice2/api/bye

我已尝试进行设置,但请求似乎没有正确路由。

我希望前端将所有客户端 REST 调用路由到以“/gateway”开头的服务器的原因是它为前端提供了更简单的维护。

我的application.yml:

zuul:
 prefix: /gateway
   routes:
     microservice1:
        path: /microservice1/**
        serviceId: microservice1
        strip-prefix: true
     microservice2:
        path: /microservice2/**
        serviceId: microservice2
        strip-prefix: true

谢谢

试试这个配置,让我知道它是否适合你。我想你必须像下面这样定义一个全局 strip-prefix:true 。实际上它也应该在没有剥离前缀的情况下工作,因为默认情况下它会剥离两个前缀。

zuul:
 prefix: /gateway
 strip-prefix: true
   routes:
     microservice1:
        path: /microservice1/**
        serviceId: microservice1
        strip-prefix: true
     microservice2:
        path: /microservice2/**
        serviceId: microservice2
        strip-prefix: true