2016-11-02 388 views
0

我需要记录我的web应用程序的每个用户的IP地址,这是我用Python和Flask创建的。Python,Flask客户端IP地址

我使用

request.remote_addr 

但是,这回该应用程序部署到服务器的IP地址。对此有任何修正?

+1

的可能的复制[获取使用Python +瓶游客IP地址](http://stackoverflow.com/questions/3759981/ get-ip-address-of-visitors-using-python-flask) – javad

回答

2

如何部署烧瓶应用程序?

我想你通过像nginx这样的反向代理服务器部署你的应用程序吧?

如果你这样做,那么request.remote_addr是你的服务器的地址,因为你的服务器发送客户端的请求到你的应用程序并将响应发送到客户端。

要解决这个问题,请参阅:http://flask.pocoo.org/docs/0.11/deploying/wsgi-standalone/#proxy-setups

+0

我在AWS – Brian

+2

上使用supervisor部署应用程序其实,我发现这个'request.headers.get('X-Forwarded-For',request。 remote_addr)'适合我的需求 – Brian

0

得到的最简单方式与用户的(也称为客户端)IP是设置此为一个变量或直接使用它。

request.environ['REMOTE_ADDR']

为了让您的服务器的IP:

request.remote_addr