我尝试使用前缀配置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,但不要认为除了代码修复之外还有其他方面。
但是我先问一下这里!
这确实是当前的限制。 RESTful端点和仪表板都是从同一个根提供的。我们默认重定向到/dashboard
,因此即使设置了不同的上下文路径,也会发生冲突并优先。
我们希望最终将所有RESTful端点移动到/api
的/dashboard
和Dashboard,以便能够将它们两者完全分开。
我们正在通过spring-cloud/spring-cloud-dataflow-ui#747和spring-cloud/spring-cloud-dataflow#1581跟踪这项工作。
是的,server.servlet.context-path
只配置后端Spring App。无论如何,我无法在前端和后端都能很好地做到这一点。如果您使用docker compose等运行它,您可以代理所有请求。否则,我查看了代码库,我认为配置前端的最简单方法是编辑proxy.conf.json
文件,并将/scdf/
附加到所有内容。虽然不太理想。
经过一些研究,要解决此问题并在Proxy后面运行数据流服务器,会创建一个DNS条目(例如:scdf.example.com),并根据DNS而不是contextpath配置代理规则。希望这可以帮助!