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
上没有自定义过滤器时,我们可以使用此功能。
- 使用过滤器有问题吗?将此控制器添加到
host_a
后,我现在没有看到来自 zuul 过滤器的任何日志
我知道我可以使用转发 属性 路由到 localhost
,效果很好。但是不知何故 host_b
rest all 给出了 404 错误。
我的实现需求-
http://host_a:8080/api/abc/user 命中 localhost
即 host_a
http://host_a:8080/api/xyz/getall 命中 host_b
重要 - 需要一个自定义的 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。
现在运行良好。
我正在处理我在 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
上没有自定义过滤器时,我们可以使用此功能。
- 使用过滤器有问题吗?将此控制器添加到
host_a
后,我现在没有看到来自 zuul 过滤器的任何日志
我知道我可以使用转发 属性 路由到 localhost
,效果很好。但是不知何故 host_b
rest all 给出了 404 错误。
我的实现需求-
http://host_a:8080/api/abc/user 命中
localhost
即host_a
http://host_a:8080/api/xyz/getall 命中
host_b
重要 - 需要一个自定义的 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。
现在运行良好。