我尝试了an application,我使用了一种方法来禁止那些向服务器发送超过5个空请求的人,但问题是,每个人都被阻止了,这是因为每个人都被视为一个唯一的ip。
In the code,我用这种方法得到了X-Real-IP
,但它在openshift上发送了工作,那么如何做到呢?
以下是我获取IP的方法:
x_real_ip = self.request.headers.get("X-Real-IP")
remote_ip = self.request.remote_ip if not x_real_ip else x_real_ip
更新:我在执行
'127.3.165.129', None)
时得到print(self.request.remote_ip, x_real_ip)
。 最佳答案
您需要查找“x-forwarded-for”头以获取访问者的IP地址。您看到的是反向代理的IP地址,用户在到达您的应用程序/设备之前要经过这个地址。
有关如何在openshift上路由请求的更多信息,请参阅开发中心中的本文:https://developers.openshift.com/en/managing-port-binding-routing.html
关于http - 在OpenShift中获得真实的客户端IP?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29395772/