如何解决使用Rails和Nginx获取客户端的真实IP地址?
| 我的服务器没有公用IP地址,所以我不知道如何获取真实客户端的IP地址。 这是我的nginx的配置:location / {
proxy_pass http://domain1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
在我的Rails应用程序的控制器中,ѭ1和request.remote_ip
都返回我服务器的网关地址。
如何获得客户的真实IP?
如何从Rails请求中获取X-Forwarded-For值?
解决方法
您应该获得标头值X-forwarded-for
http://en.wikipedia.org/wiki/X-Forwarded-For
,Rails原本应该为我们自动执行此操作,但是似乎在当前的3.x版本中已被破坏
我正在使用这个:
def ip() request.env[\'HTTP_X_FORWARDED_FOR\'] || request.remote_ip end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。