我想记录尝试在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应用程序中获取最后一个。
答案 0 :(得分:0)
好的,最后我得到了解释......测试服务器只能通过VPN网络连接看到,所以服务器直接看到我的电脑,就像它在我的局域网上一样。