python flask在HTTP代理后面不起作用

时间:2017-08-05 01:19:08

标签: flask proxy

我怀疑问题是服务器中的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;线路丢失,暗示端口号似乎只对我的本地主机开放,但不对局域网开放。

为什么呢?我该如何解决?

提前致谢。

2 个答案:

答案 0 :(得分:0)

Flask经常使用内部主机:

  

127.0.0.1

。因此,您可以通过更改主机IP来连接server_ip_in_LAN:

app.run(host= '0.0.0.0')

答案 1 :(得分:0)

当我尝试为烧瓶设置第一个pycharm项目时,我也遇到了类似的问题。

您需要检查的事情

  • HTTP代理(如果您位于代理后面)
  • 如果添加了代理,请验证代理详细信息
  • 检查端口(如果尚未使用)。
  • 特定于烧瓶(如果要在特定主机和端口上运行)

app.run(host ='0.0.0.0',port ='5000',debug = True)

从0.0.0.0开始,您可以将其更改为localhost。