从我的公共IP地址看不到Flask服务器

Kea*_*nge 7 python webserver flask

我正在尝试在我的桌面PC上运行一个可在互联网上公开的烧瓶服务器.我做了以下事情:

我使用以下代码作为测试Web服务器

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")
Run Code Online (Sandbox Code Playgroud)

当我打开浏览器:http://192.168.1.11:33 /页面显示正常时,我看到"测试123"

当我尝试从我的公共IP地址连接到我的网络服务器时出现问题当我打开我的浏览器到 http://xx.xxx.xxx.xx:30(我的IP地址)时,我看到的是"这个网站不能是到了,xx.xxx.xxx.xx拒绝连接"

我查了所有堆栈溢出的答案,我做了以下事情:

  • 关闭了Windows防火墙
  • 将主机从"192.168.1.11"更改为"0.0.0.0"
  • 试过一个不同的港口

代码运行的屏幕截图显示错误:http://i.imgur.com/a05GvEs.png

我的问题是:我需要做什么才能从我的公共IP地址看到我的烧瓶服务器?

小智 6

您在路由器上激活了DHCP吗?如果是,您是否在其中看到主机为192.168.1.11?

您必须在主机上使用“ 0.0.0.0”,这告诉Flask在所有地址上侦听。尝试用引号将端口指定为app.run(host="0.0.0.0", port="33")