我需要将访问者的 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
我以为问题出在我这边,但我向我的 3 个朋友发送了链接,他们都看到相同的 IP,只是127.0.0.1。
我整天都在解决这个问题,但仍然没有成功。
谢谢