我需要将访问者的IP地址存储到我们的数据库中,这就是我尝试这样做的方式:
@ip = request.remote_ip
@ip = request.env['REMOTE_ADDR']
但在这两种情况下, @ip
变量存储了值 127.0.0.1即使我将应用程序部署到Amazon EC2实例。
当我检查 http://www.whatismyip.com/,它显示我的IP为 109.175.XXX.X。
因此,为什么ruby变量总是显示出来 127.0.0.1 地址?我如何获得真正的IP?
编辑: 以下是以下输出:
request.env['HTTP_X_FORWARDED_FOR'] =>
request.remote_ip => 127.0.0.1
request.env['REMOTE_ADDR'] => 127.0.0.1
request.ip => 127.0.0.1
我认为这个问题就在我身边,但是我发送了三个朋友的链接,所有人都看到了相同的IP,只是 127.0.0.1。
我整天都在解决这个问题但仍然没有成功。
谢谢