在Flask App中获取公共客户端IP?

时间:2015-04-07 15:54:47

标签: flask mod-wsgi

我想记录尝试在Flask应用程序上进行身份验证的客户端的公共WAN IP。

实际上,我试过的任何方法都会返回客户端的LAN IP。

我的堆栈是一个Apache 2.2服务器,使用mod_wsgi为Flask应用程序提供服务。

我试过的方法:

request.remote_addr
request.access_route # The list contain only one value which is the LAN IP
request.environ['REMOTE_ADDR']

我怎样才能获得公共IP?

感谢您的帮助。

编辑唯一性:

我没有代理服务器,也没有" X-Forwarded-For"报头中。

我没有得到" 127.0.0.1"但是客户端的局域网IP。

例如,目前我的局域网IP是" 10.192.132.148"我的同事LAN IP可能是" 10.192.132.149",但我们的公共WAN IP适用于" 193.xxx.xxx.xxx"。

我正在寻找一种方法来在我的Flask应用程序中获取最后一个。

1 个答案:

答案 0 :(得分:0)

好的,最后我得到了解释......测试服务器只能通过VPN网络连接看到,所以服务器直接看到我的电脑,就像它在我的局域网上一样。