【问题标题】:How to get Apache Superset to run on a specified path如何让 Apache Superset 在指定路径上运行
【发布时间】:2018-11-25 14:03:26
【问题描述】:

我在以下地址运行 Apache Superset:

http://superset.example.com:8088

被重定向到:

http://superset.example.com:8088/superset/welcome

理想情况下,用户会被重定向到:

http://superset.example.com:8088/welcome

如何实现?我也希望它在端口 80 下运行,因此不需要指定端口,但我也无法做到。

【问题讨论】:

  • 该 URL 前缀是在源代码中定义的,因此您必须使用一些代理方法或更改源。使用 -p 选项更改端口。

标签: superset apache-superset


【解决方案1】:

这个问题涵盖了你在说什么:

https://github.com/apache/incubator-superset/issues/985

这导致了这个封闭的 PR:

https://github.com/apache/incubator-superset/pull/1866

您可以尝试重新打开PR并完成它,也可以尝试像this guy suggests一样配置nginx。

【讨论】:

    【解决方案2】:

    我发现为超集设置基本网址非常令人沮丧。如果您想节省一些时间,我在这里将几个 cmets 浓缩为一个工作示例:https://github.com/komoot/superset-reverse-nginx-example

    【讨论】:

      【解决方案3】:

      下面是我最终让它在“/”以外的端点上运行的方式。但我的用例是让它在无服务器环境中的 AWS Lambda 上运行。

      最终我所做的是使其工作:

      1. 在 config.py 中,我添加了另一个配置变量,并在使用了 redirect 或 appbuilder.add_link 的位置使用了此变量。
      2. 在模板文件夹中,有些地方直接使用了“/superset/”。所以,即使我第一步做对了,模板也没有以正确的方式呈现。所以,我也必须去更改模板(到目前为止,我已经硬编码了它。我需要让它可配置)
      3. 在前端,我添加了一个名为 config.ts 的文件,并且我已在前端进行重定向的位置使用此配置。这已经修复了我所有的前端链接。
      4. 对我来说唯一剩下的就是修复“将 CSV 上传到数据库”链接。当我们单击此链接并输入数据时,由于 Lambda 不允许任何写入,我尝试写入 /tmp - 但由于我们不知道下一个请求是否将由同一个 lambda 提供服务......所以这是现在的一个问题。我打算解决这个问题的方法是将文件写入 s3 而不是本地文件夹。我仍在想办法做到这一点。

      -- 没有更多的 nginx 或其他链接。在这个设置中,我们甚至不需要 gunicorn。

      谢谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-08
        • 1970-01-01
        • 2019-07-04
        • 1970-01-01
        相关资源
        最近更新 更多