我正试图在我的桌面PC上运行一个可以在互联网上公开使用的烧瓶服务器。我做了以下工作:
我使用以下代码作为测试test服务器
from flask import Flask, request, redirect
app = Flask(__name__)
@app.route("/")
def hello_world():
return "Test 123 "
if __name__ == "__main__":
app.run(host="0.0.0.0", port="33")当我打开浏览器到:http://192.168.1.11:33/页面正确显示时,我看到“测试123”。
当我打开我的浏览器到(我的ip地址)时,我看到的是“这个站点无法到达,xx.xxx.xxx.xx拒绝连接”,当我打开浏览器到http://xx.xxx.xxx.xx:30 ( ip地址)时,我的问题出现在试图从公共ip地址连接到see服务器时
我查找了所有堆栈溢出答案,完成了以下操作:
代码运行和错误显示的屏幕截图:http://i.imgur.com/a05GvEs.png
我的问题是:我需要做什么才能使我的烧瓶服务器从我的公共ip地址可见?
发布于 2016-04-13 12:13:39
你在路由器上激活了DHCP吗?如果是的话,你认为你的主人是192.168.1.11吗?
您必须在主机上使用“0.0.0.0”,这告诉Flask要侦听所有的地址。尝试将引号指定为app.run(host="0.0.0.0", port="33")端口
发布于 2016-04-13 12:30:03
将其更改为app.run(host= '0.0.0.0',port="33")以在您的机器IP地址上运行。
在“快速启动”页面上的“外部可见服务器”下的Flask站点上有文档:http://flask.pocoo.org/docs/0.10/quickstart/#a-minimal-application
在您的路由器端口中将端口转发添加到端口33,在这里解释了http://www.howtogeek.com/66214/how-to-forward-ports-on-your-router/
发布于 2018-01-29 13:13:26
您必须给出公共ip地址/LAN地址作为app.run方法的参数。当您不提供主机参数时,它可以很好地用于http://localhost:8888/和http://127.0.0.1:888/,但不能访问正在运行REST服务的系统外部。
下面是一个例子。app.run(host="192.168.0.29",debug=True,port=8888)
https://stackoverflow.com/questions/36597643
复制相似问题