无法从远程机器访问 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 应用程序 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
从远程机器上部署的 kubernetes 仪表板服务访问本地笔记本电脑时无法访问站点问题
Flask:无法从 socket.io 监听器中访问 current_app
AWS Cognito 和 Flask 应用程序无法从 url 获取 jwt