我怀疑问题是服务器中的HTTP代理。但我不确定。
我在Ubuntu上设置了一个hello world Flask应用程序,我能够通过
访问该页面elinks http://localhost:5000, # and
elinks http://127.0.0.1:5000, # but not
elinks http://<server_ip_in_LAN>:5000 # I was also not able to remote access the page on another machine
然后我查看了我的代理设置,在/ etc / environment中,它有以下内容:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
http_proxy="http://proxy-ip:8080/"
https_proxy="http://proxy-ip:8080/"
ftp_proxy="http://proxy-ip:8080/"
git_proxy="http://proxy-ip:8080/"
no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
HTTP_PROXY="http://proxy-ip:8080/"
HTTPS_PROXY="http://proxy-ip:8080/"
FTP_PROXY="http://proxy-ip:8080/"
GIT_PROXY="http://proxy-ip:8080/"
NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"
此外,我使用ufw来控制防火墙,允许从任何地方使用端口5000。 我通过运行nmap -Pn localhost
看到了以下内容$ nmap -Pn localhost
Starting Nmap 7.01 ( https://nmap.org ) at 2017-08-04 21:09 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00016s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
3000/tcp open ppp
5000/tcp open upnp
5432/tcp open postgresql
8080/tcp open http-proxy
完成Nmap:在0.09秒内扫描1个IP地址(1个主机)
但是,如果我跑
nmap -Pn <server_ip_in_LAN>,
&#34; 5000 / tcp open upnp&#34;线路丢失,暗示端口号似乎只对我的本地主机开放,但不对局域网开放。
为什么呢?我该如何解决?
提前致谢。
答案 0 :(得分:0)
Flask经常使用内部主机:
127.0.0.1
。因此,您可以通过更改主机IP来连接server_ip_in_LAN:
app.run(host= '0.0.0.0')
答案 1 :(得分:0)
当我尝试为烧瓶设置第一个pycharm项目时,我也遇到了类似的问题。
您需要检查的事情
app.run(host ='0.0.0.0',port ='5000',debug = True)
从0.0.0.0开始,您可以将其更改为localhost。