Flask只在127.0.0.1上监听,忽略主机参数
我在Windows 7上使用Flask,下面是Flask和相关版本的信息:
Flask==0.10.1
Werkzeug==0.9.3
我可以在同一台电脑上通过 http://127.0.0.1:5000
访问这个应用,但在局域网内的另一台电脑上访问 http://192.168.101.103:5000
就失败了。
我用这些参数启动应用:
#app.py
if __name__ == '__main__':
app.run( host='0.0.0.0:5000')
有一点我不明白的是,当我在同一台电脑上启动netcat(一个网络工具),而Flask也在同一个端口上监听时,netcat可以正常工作,而且从另一台电脑也能访问:
>c:\Python27\python manage.py runserver
>
* Running on http://127.0.0.1:5000/
* Restarting with reloader
可以正常工作...
>nc -l -p 5000
在同一台电脑上,同一个端口也可以正常工作???
GET / HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: de-DE
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0;
Accept-Encoding: gzip, deflate
Host: 192.168.101.103:5000
DNT: 1
Connection: Keep-Alive
甚至可以接受来自另一台电脑的连接???
所以,除了显而易见的问题,如何让Flask在局域网中服务外,我很好奇,为什么同一台机器上的两个进程可以在同一个端口上监听?
谢谢!