使用Servlet前缀配置Spring Cloud数据流

时间:2019-03-03 22:19:38

标签: java spring spring-boot spring-cloud-dataflow

我尝试使用前缀,例如配置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,但是除了代码修复,别无其他想法。

但是我先在这里问!

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

这确实是当前的限制。 RESTful端点和仪表板均从同一根目录提供。默认情况下,我们重定向到/dashboard,以便即使设置了不同的上下文路径也可以冲突并享有优先权。

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

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

答案 2 :(得分:0)

经过一些研究,要变通解决此问题并在Proxy后面运行数据流服务器,将创建一个DNS条目(例如:scdf.example.com),并根据DNS而非上下文路径配置代理规则。希望这会有所帮助!