我正在做一个应用程序,我需要在其中找到客户的 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/