无法从远程机器访问 Python Flask 应用程序 [重复]

Posted

技术标签:

【中文标题】无法从远程机器访问 Python Flask 应用程序 [重复]【英文标题】:Python Flask application not accessible from remote machine [duplicate] 【发布时间】:2018-06-19 06:43:08 【问题描述】:

大家好,我是 Python Flask 的新手。阅读基本手册后,我尝试创建一个示例 Flask 应用程序并在我的机器上成功完成。

我的代码(取自各种教程)如下:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def main():
    return "Welcome!"

if __name__ == "__main__":
    app.run()

如您所见,此应用程序打印“欢迎!”每当我点击http://127.0.0.1:5000/。但是当我尝试通过将 127.0.0.1 替换为系统的 IP 地址来从同一网络中的其他计算机访问应用程序时,我收到“网络错误 (tcp_error) Connection Refused”错误

任何有关如何从另一台机器访问 Flask 应用程序(在一台机器上创建)的信息都会有所帮助

【问题讨论】:

一旦尝试在隐身模式下运行。 @JaiPrak。试过了。但没有运气 【参考方案1】:

最后,在学习了其他几个教程之后,我也能够从远程机器访问我的应用程序了。

问题是如果我们只是通过“app.run()”命令运行 Flask 应用程序,那么它将只监听 localhost / 127.0.0.1 。如果我们通过使用“app.run(host= '0.0.0.0')” 运行应用程序让应用程序到处监听,那么我什至可以从其他机器访问它

希望其他人也能从中受益。

参考:http://dixu.me/2015/10/26/How_to_Allow_Remote_Connections_to_Flask_Web_Service/

【讨论】:

更简单的是,使用pyngrok (pip install pyngrok) 直接在您的server.py 中调用和管理ngrok。 Here's a full Flask example,但基本上你只需要from pyngrok import ngrok,然后在定义路由时ngrok.connect(5000)

以上是关于无法从远程机器访问 Python Flask 应用程序 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法从远程访问 docker 端口

从远程机器上部署的 kubernetes 仪表板服务访问本地笔记本电脑时无法访问站点问题

Flask:无法从 socket.io 监听器中访问 c​​urrent_app

AWS Cognito 和 Flask 应用程序无法从 url 获取 jwt

Visual Studio 2010 远程调试 - 无法连接:拒绝访问

无法远程调试应用程序 - 端口无法从外部访问