Zuul 路由不起作用,给出 404 : Spring Boot+ Cloud+ Zuul

Zuul routing doesn't work, gives 404 : Spring Boot+ Cloud+ Zuul

我正在处理我在 https://host_a:8080 and a backend service at https://host_b:8080 上有 ng4+boot 应用程序 运行 和一些 API 的流程。

我在两个主机上都有 RestController/Path,即我需要一些 urls 来点击 localhost (host_a) 和其他人host_b.

application.yml 中,我已经尝试了几乎所有可能的 Zuul 路由组合,但对于所有 host_b rest API 仍然得到 404。 host_a API 效果很好。

注意:当 host_a 上没有休息 API 且 host_a 上没有自定义过滤器时,我们可以使用此功能。

  1. 使用过滤器有问题吗?将此控制器添加到 host_a
  2. 后,我现在没有看到来自 zuul 过滤器的任何日志

我知道我可以使用转发 属性 路由到 localhost,效果很好。但是不知何故 host_b rest all 给出了 404 错误。

我的实现需求-

  1. http://host_a:8080/api/abc/user 命中 localhosthost_a

  2. http://host_a:8080/api/xyz/getall 命中 host_b

  3. 重要 - 需要一个自定义的 zuul 过滤器,它在将请求路由到 host_b 之前添加某些 headers 到请求,如第 2 点中所述。 - 已经到位,但看不到现在登录进去。

我已经尝试过的-

zuul: 
  routes:
      xyz:
        path: /api/xyz/**
        url: http://host_b:8080/api/xyz

我几乎尝试了所有方法,使用前缀 strip-prefix,仅在 url 中使用主机,使用转发进行本地路由等。没有任何效果。

请帮助我解决可能被我忽略或遗漏的原因?

提前致谢。

终于,我解决了问题。

1.我不得不将球衣@Path更改为spring @RestController
2. 将 Zuul Filter 顺序从 1 更改为 999。

现在运行良好。