在“本地”服务器(具有外部访问权限)上安全地部署Dash应用程序

时间:2020-11-11 16:39:57

标签: deployment web-applications server hyphen

我是一个项目的一部分,我希望为其部署Dash Web应用程序,并将其托管在项目合作伙伴之一的服务器上。是否有一种方法可以安全地(我想用基本破折号auth)通过URL与项目的其他成员共享此Dash应用程序?

我知道这可以通过Heroku进行部署,但是由于可能存在通过第三方服务传输数据的问题,因此更理想的设置是通过“本地”(到项目)服务器托管应用程序。

有效地

  • Dash应用是通过git在“本地”和24/7操作服务器上构建和部署的。
  • ,项目合作伙伴可以通过提供的URL访问应用程序

我确定这上面有东西,但是我似乎无法确定最适合我们需求的部署方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您在0.0.0.0:8050上运行破折号应用程序,则如果您的伴侣在其Web浏览器上访问您计算机的ip_address:8050,则可以从同一个wifi网络访问该应用程序。

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

if __name__ == '__main__':
app.run_server(host="0.0.0.0", port="8050")

因此,如果您的本地IP地址为192.168.7.98,则您的同事可以通过从同一wifi网络转到192.168.7.98:8050来访问正在运行的dash应用程序。这也是测试移动布局的好方法。在0.0.0.0上启用破折号,然后使用上述相同的方法从您的手机中访问它。

以下是run_server方法中可用的所有选项:

    def run_server(
        self,
        host=os.getenv("HOST", "127.0.0.1"),
        port=os.getenv("PORT", "8050"),
        proxy=os.getenv("DASH_PROXY", None),
        debug=False,
        dev_tools_ui=None,
        dev_tools_props_check=None,
        dev_tools_serve_dev_bundles=None,
        dev_tools_hot_reload=None,
        dev_tools_hot_reload_interval=None,
        dev_tools_hot_reload_watch_interval=None,
        dev_tools_hot_reload_max_retry=None,
        dev_tools_silence_routes_logging=None,
        dev_tools_prune_errors=None,
        **flask_run_options):