我进行了很多搜索,但是找不到解决方案。我尝试过:
Rails.logger.error request.remote_ip
Rails.logger.error request.env["REMOTE_ADDR"]
但是,结果有些奇怪:10.130.150.254
或10.130.150.251
。
我使用手机LTE/4G网络进行测试,总是得到10.130.247.251
,这是一个A类保留的私有网络IP地址。
我还尝试了:
Rails.logger.error request.env["HTTP_X_FORWARDED_FOR"]
Rails.logger.error request.env["HTTP_X_REAL_IP"]
Rails.logger.error request.env["HTTP_X_CLUSTER_CLIENT_IP"]
但是它们为我提供了空字符串。
当我使用手机并指向touch.whatsmyip.org时,它会给我一个公共IP地址172.56.9.89
。
我们使用HTTPS SSL终止和负载均衡器,可能看起来像“获取负载均衡器(ELB)后面的远程主机客户端IP地址"。
如何获取客户端IP地址?如果客户端在代理后面,那没问题,那么代理IP地址对我也很好。
我正在使用Apache和Passenger来提供应用程序。
"request.remote_ip"是一个类似的问题。
request.remote_ip
和request.ip
的结果吗? - Brandon Buck