我试过了 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
更新:在执行 print(self.request.remote_ip, x_real_ip)
'127.3.165.129', None)
最佳答案
您想查找“x-forwarded-for” header 以获取访问者的 ip 地址。您看到的是用户在到达您的应用程序/设备之前经过的反向代理的 IP 地址。
您可以参阅开发人员中心的这篇文章,了解有关如何在 OpenShift 上路由请求的更多信息:https://developers.openshift.com/en/managing-port-binding-routing.html
关于http - 在 OpenShift 中获取真实的客户端 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29395772/