如果您初始化默认的PyStarter项目,或者只遵循启动"hello world"的第一节,或者只执行以下操作:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
你的密码和我的一样。它工作正常,直到我将host
参数更改为0.0.0.0
,然后应用程序启动如下:
$ python app.py
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
然后当我转到该链接时,我得到一个无效地址错误:
我需要使用0.0.0.0
而不是127.0.0.1
,因为这是AWS用于开放连接的IP地址
我怎样才能让0.0.0.0
地址在本地工作
我正在Windows上工作
0.0.0.0表示所有IPv4地址,因此将其用作目标地址或主机地址是不正确的。通常,它用于指定I未来地址的所有ip源ip地址
因此,您应该给出127.0.0.1或您的机器ip地址 [链接]https://www.rfc-editor.org/rfc/rfc5735
我猜这里的问题是防火墙拒绝连接或某种Windows策略,而不是IP地址问题。可能是配置为允许
127.0.0.0/8
但不允许0.0.0.0
的代理0.0.0.0
是一个完全有效的IP地址,即使对于客户端也是如此。当您绑定到它时,它只意味着侦听主机上配置的所有IP地址如果您在运行Flask应用程序的同一台机器上运行浏览器,您甚至可以简单地将其指向
http://0:5000
,它将显示内容如果您在AWS上运行应用程序并试图从远程计算机访问,则需要指定AWS实例的公共IP地址,因为
0.0.0.0
是不可路由的IP地址(与任何保留的专用空间IP地址一样,如10.0.0.0/8
、127.0.0.0/8
、192.168.0.0/16
和172.16.0.0/12
)相关问题 更多 >
编程相关推荐