我想将SCDF的仪表板放在Zuul后面(或实际上只是假设任何代理),但是当我这样做时,Spring Cloud Data Flow将重定向到它认为的实际主机。
示例:Zuul是http://zuul/。它配置为将任何/仪表板请求路由到http://scdf/host
在浏览器中,我转到http://zuul/dashboard。
一旦请求穿过Zuul,然后命中SCDF,SCDF就会重定向到http://scdfhost/dashboard,该板在锁定的环境中无法使用。(SCDFHOST将在外部看不到)
我已经在这里寻找任何可以在这里工作的属性,但是我无法弄清楚。
有人尝试过吗?或提示?
感谢您的问题!问题是将302
从http://localhost:9393/dashboard
重定向到仪表板的绝对URI(http://localhost:9393/dashboard/index.html)。如果您正在运行 Spring Cloud Data Flow Server (例如Zuul),则必须指定属性 server.use-forward-headers
并将其设置为true
。这样一来,Spring Boot就知道了代理的HTTP前向标头。另请参见春季启动参考指南("在前端代理服务器后面运行")。
您可以找到一个基本示例:
https://github.com/spring-cloud/spring-cloud-dataflow-samples/tree/master/master/dataflow-zuul
为了澄清参考文档,我创建了一个后续问题:
https://github.com/spring-cloud/spring-cloud-dataflow/issues/2929