Ich brauche unsere Datenbank zu speichern Besucher IP-Adresse und hier ist die Art, wie ich das zu tun versuche:Schienen - Wie bekomme ich die IP-Adresse meiner Besucher?
@ip = request.remote_ip
@ip = request.env['REMOTE_ADDR']
Aber in beiden Fällen die @ip
Variable den Wert 127.0.0.1, auch dann gespeichert, wenn Ich stelle die App auf Amazon EC2-Instanz bereit. Wenn ich http://www.whatismyip.com/ überprüfe, zeigt es meine IP als 109.175.XXX.X an.
Warum zeigt also die Ruby-Variable immer die 127.0.0.1 Adresse an? Wie bekomme ich die echte IP?
EDIT: Hier ist die Ausgabe von folgenden:
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
Ich dachte, dass das Problem nur auf meiner Seite, aber ich schickte Links zu 3 Freunden und alle von ihnen sehen die gleiche IP, nur 127.0.0.1.
Ich löse dieses Problem den ganzen Tag und immer noch keinen Erfolg.
Danke
vielleicht ist Ihre App hinter einem [Reverse Proxy] (http://en.wikipedia.org/wiki/Reverse_proxy)? –
Wie besucht der "Besucher" Ihren Server? Wenn Sie die EC2-Instanz verwenden, wie senden Sie die Anfrage an den Server? –
Einfach habe ich meine Website im Browser geöffnet und die Seite neu geladen, weil ich dort die geänderte IP sehen wollte - aber da ist immer noch das selbe wie auf localhost - 127.0.0.1 – user984621