Spring Web 代理背后的云数据流

Spring Cloud Data Flow behind a web proxy

我想将 SCDF 的仪表板放在 zuul 后面(或者只是假设任何代理,真的),但是当我这样做时,Spring云数据流将重定向到它认为它是实际主机的地方。

示例: Zuul 是 http://zuul/. It's configured to route any /dashboard requests to http://scdf/host

在浏览器中,我转到 http://zuul/dashboard

一旦请求通过 zuul 路由,然后到达 SCDF,SCDF 将重定向到 http://scdfhost/dashboard,这在锁定环境中不起作用。 (scdfhost 将不会通过外部可见)

我已经寻找过任何可以在这里使用的属性,但我想不出来。

有人试过吗?或者提示?

感谢您的提问!问题是重定向 302http://localhost:9393/dashboard 到仪表板的绝对 URI(http://localhost:9393/dashboard/index.html). If you are running Spring Cloud Data Flow Server behind a proxy server, such as Zuul,您必须指定 属性 server.use-forward-headers 并将其设置为 true。这样 Spring Boot 就知道来自代理的 HTTP 转发 headers。另请参阅 Spring Boot reference guide ("Running Behind a Front-end Proxy Server")。

您可以在以下位置找到基本示例:

https://github.com/spring-cloud/spring-cloud-dataflow-samples/tree/master/dataflow-zuul

为了阐明参考文档,我创建了一个 follow-up 问题:

https://github.com/spring-cloud/spring-cloud-dataflow/issues/2929