在某些情况下,remote_ip返回的ip与whatismyip.com不同

时间:2017-03-23 00:05:56

标签: ruby-on-rails ip-address

我正在尝试为特定控制器设置一些IP白名单,而我依赖于Teacher.prototype.constructor = Teacher

返回的值
request.remote_ip

我的问题是,对于某些设备/网络,def country_whitelist request_country = Custom::BackofficeLibrary.get_country_by_ip(request.remote_ip) head 404 unless ['PE'].include? request_country end 返回的IP地址是错误的。

例如,使用我手机的移动网络,当我在秘鲁时,我正在为美国获取IP。但是,如果我在手机上浏览http://www.whatismyip.comhttp://freegeoip.net,我会获得正确的秘鲁IP地址。

所以在某些情况下(十分之一),当免费的互联网服务正确时,remote_ip无法获得正确的IP。

我的设置是AWS EC2 - > Nginx - > Puma - > Rails 5.0.0.1

我在前面尝试过使用和没有负载均衡器的AWS,但没有任何区别。

有什么想法吗?

编辑:

添加Ngnix部分配置,以防相关:

request.remote_ip

0 个答案:

没有答案