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

时间:2017-09-24 10:56:04

标签: rest spring-boot servlet-filters spring-cloud netflix-zuul

我正在开发一个流程,我在https://host_a:8080上运行了ng4 +启动应用程序,在https://host_b:8080运行了一些带有一些API的后端服务。

我在两个主机上都有RestController / Path,即我需要一些网址来点击localhosthost_a)而其他网址点击host_b。< / p>

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

注意:如果host_a上没有其他API且host_a上没有自定义过滤器,我们就可以使用此功能。

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

    我知道我可以使用forward属性路由到localhost,效果很好。但不知怎的,host_b休息都会给出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之前添加某些标头,如第2点所述。 - 已经到位,但现在无法查看其中的日志。

    4. 我已经尝试过了 -

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

      我尝试了几乎所有东西,使用前缀,条带前缀,只有url中的主机,使用forward进行本地路由等。没有任何作用。

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

      提前致谢。

1 个答案:

答案 0 :(得分:0)

最后,我能够解决问题。

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

现在运作良好。