使用 servlet 前缀配置 spring 云数据流

Configuring spring cloud data flow with a servlet prefix

我试过使用前缀配置 Spring Cloud Data Flow (2.0.0.m2),例如:

server.servlet.context-path=/scdf

这不起作用,因为当您转到 http://localhost:9393/scdf/dashboard 时,加载的 javascript 会尝试转到 /security/info(而不是 /scdf/security/info)。

我很确定这是一个错误;我一直在阅读这里的 UI 代码:https://github.com/spring-cloud/spring-cloud-dataflow-ui,但我认为除了代码修复之外没有任何解决办法。

但我先在这里问一下!

是的,server.servlet.context-path 仅配置后端 Spring 应用程序。无论如何,我找不到在前端和后端都能很好地做到这一点。如果您 运行 它使用 docker 撰写等,您可以代理所有请求。否则我查看了代码库,我认为配置前端的最简单方法也是编辑 proxy.conf.json 文件,并将 /scdf/ 附加到所有内容。虽然不理想。

这确实是当前的限制。 RESTful 端点和仪表板都从同一个根提供服务。我们默认重定向到 /dashboard,因此即使设置了不同的上下文路径也会发生冲突并优先。

我们希望最终将所有 RESTful 端点移动到 /api/dashboard 的仪表板,以便能够将它们完全分开。

我们正在通过 spring-cloud/spring-cloud-dataflow-ui#747 and spring-cloud/spring-cloud-dataflow#1581 跟踪这项工作。

经过一些研究,为了解决这个问题和 运行 代理后面的数据流服务器,创建了一个 DNS 条目(例如:scdf.example.com)并根据 DNS 配置代理规则而不是上下文路径。希望这对您有所帮助!