http - 在 OpenShift 中获取真实的客户端 IP?

标签 http ip openshift tornado

我试过了 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/

相关文章:

.htaccess - 我可以只使用服务器IP而不使用域名来运行网站吗?

ip - 使用 netcat 获取我的公共(public) IP

kubernetes - 普罗米修斯数据源: client_error: client error: 403

c++ - 如何在 C++ 中使用 Curl 获取 HTTP 响应字符串

php - 从 PHP GD 中的文件输出动画 GIF

javascript - 为什么登录后所有 XHR 请求中都会显示基本身份验证凭据

git - 我可以将 IP 列入白名单以处理我的 Git 存储库吗?

ruby - 在 Windows 上安装 'rhc' Rubygems 时出错

html - Openshift 找不到我的 css 文件

http - 如何使用 Jetty Http 客户端记录 HTTP 请求和响应