在本地服务器(具有外部访问)上安全部署Dash应用程序 [英] Deploying Dash app on a 'local' server (with external access) securely

查看:59
本文介绍了在本地服务器(具有外部访问)上安全部署Dash应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一个项目的一部分,我想为该项目部署一个Dash web应用程序,托管在一个项目合作伙伴的服务器上。有没有办法通过URL与项目的其他成员安全地(我猜使用Basic Dashauth)共享此Dash应用程序?

我知道这可以通过Heroku部署,但由于可能会担心通过此第三方服务传输数据,更理想的设置是通过"本地"(到项目)服务器托管应用程序。

有效

  • Dash应用程序通过git构建和部署在一台全天候运行的‘本地’服务器上
  • 并且,项目合作伙伴可以通过提供的URL访问该应用程序

我确信这上面有一些东西,但我似乎找不到最适合我们需要的部署方法。

推荐答案

如果您在0.0.0.0:8050上运行DASH应用,并且您的合作伙伴在其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上启动DASH,并使用与上述相同的方法从您的手机访问它。

以下是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):

这篇关于在本地服务器(具有外部访问)上安全部署Dash应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆