【发布时间】:2014-01-09 02:00:47
【问题描述】:
我正在尝试在 Rails 3 中获取客户端 IP。 应用安装在云主机中,带有 SSL 和 nginx 服务器。
我写了一些代码来获取客户端 ip。
request.remote_ip
request.env['HTTP_X_FORWARDED_FOR']
但它返回错误的地址,例如'10.159.21.86' 是否有任何与 Nginx 服务器或 SSL 安装相关的问题?
【问题讨论】:
-
这个ip和你的应用所在机器的ip一样吗?
-
可能你的流量通过了 nginx/varnish/stunnel/etc 并且源地址发生了变化。请咨询您的云提供商,了解如何获取用户的真实 IP 地址
-
我记得遇到过类似的问题。您可以尝试安装 nginx real_ip 模块。检查是否有帮助。
标签: ruby-on-rails ruby nginx ip engineyard