【问题标题】:Zuul Routing on Root Path根路径上的 Zuul 路由
【发布时间】:2016-12-23 12:19:18
【问题描述】:

我想配置 zuul 将请求路由到 root / 到主页。我试过了:

root:
  path: /
  url: http://hostname/home/index.jsp

root:
  path: /**
  url: http://hostname/home/index.jsp

但它们都不起作用。我刚收到一个 404 NOT FOUND。我觉得路径匹配配置应该和有上下文的配置类似,比如/service/**,其实不然。

【问题讨论】:

    标签: spring-cloud netflix-zuul


    【解决方案1】:

    这就是我为完成这项工作所做的工作。

    在 Zuul 中 -> 控制器:

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String handleRequest() {
        return "forward:/ux/";
    }
    

    Zuul 属性:

    zuul:
      addProxyHeaders: true
      routes:
        example-ux:
          path: /ux/**
          stripPrefix: false
    

    在 example-ux 服务属性中:

    server:
      servlet-path: /*
      context-path: /ux
    

    这个配置也解决了静态资源解析的问题。即/static/cssstatic/js等...

    【讨论】:

    • 注意:这是基于使用 Eureka 进行服务发现
    • 当我这样做时,它只是将字符串“forward:/ux/”返回到我的浏览器。我认为这是因为容器中没有定义名为“/ux/”的视图。你是怎么定义的?另外,在您的第二个配置中,我想您错过了serviceIdurl?不然怎么做路由。谢谢。
    • 在 example-ux 服务中,您仍然需要 index.html 或索引控制器来呈现 ui。 serviceIdurl 不是必需的。
    • 我仍然无法让它工作。我不太明白如果你不指定url或serviceId,zuul怎么知道你的example-ux服务的位置?它将请求转发到哪里?
    • 我有目标应用程序,zuul 路由到该应用程序正在运行。但是 zuul 中的 return "forward:/ux/"; 仍然只返回一个字符串。我认为forward 关键字需要与zuul 中具有相同名称的控制器(在本例中为/ui)一起使用。
    猜你喜欢
    • 2017-06-12
    • 2017-04-21
    • 2011-08-14
    • 2023-03-30
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    相关资源
    最近更新 更多