ruby-on-rails - 如何在 Rails 2.3.8 中为 https 请求(即安全连接)查找客户端 ip

标签 ruby-on-rails ip-address clientip

我正在做一个应用程序,我需要在其中找到客户的 IP 地址。我使用 request.remote_ip 来获取客户端的 IP,并获取客户端的公共(public) IP 地址以进行 http 请求。当它是一个 https 请求时,remote_ip 获取了不同的 ip,比如 10.114.237.132(我认为这是一个私有(private) ip)而不是公共(public) ip 地址。我也试过 request.env['REMOTE_ADDR']
我的问题是如何为 https 请求找到客户端的远程 ip。

最佳答案

如果这是负载均衡器的 IP,请尝试确定它是否可以为您提供 HTTP header 来获取客户端 IP。
如果您可以配置它或者如果它已经证明它,您可以使用此方法检查 HTTP header Request.headers()方法。

您应该寻找的标题是 X-Forwarded-For .

关于ruby-on-rails - 如何在 Rails 2.3.8 中为 https 请求(即安全连接)查找客户端 ip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16587200/

相关文章:

ruby-on-rails - 如何将此图像转换为链接?

node.js - Nodejs ip 地址结果::1

javascript - 如何通过javascript获取浏览器的远程ip?

ruby-on-rails - rubygems.org 上的错误网关 502

ruby-on-rails - 定义一个正则表达式,匹配一个数字两次,所有其他数字匹配一次

ruby-on-rails - 为什么多字段映射不适用于 elasticsearch 的轮胎 gem ?

Python - 根据起始IP创建IP列表

java - 如何在 Spring MVC Controller get call 中提取 IP 地址?

c - IP 地址 char* 变量在循环从 ifa_addr 收集地址时意外更改

javascript - 如何获取客户端/用户 ip 地址?