在 OpenShift 中获取真实的客户端 IP?
Get real client IP in OpenShift?
我试过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 地址。您看到的是用户在到达您的 application/gear.
之前经过的反向代理的 IP 地址
您可以参阅开发者中心的这篇文章,了解有关如何在 OpenShift 上路由请求的更多信息:https://developers.openshift.com/en/managing-port-binding-routing.html
我试过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 地址。您看到的是用户在到达您的 application/gear.
之前经过的反向代理的 IP 地址您可以参阅开发者中心的这篇文章,了解有关如何在 OpenShift 上路由请求的更多信息:https://developers.openshift.com/en/managing-port-binding-routing.html