2016-04-15 4 views
0

Ich versuche Client-IP von Rails zu holen, aber wenn ich das auf meinem lokalen Rechner teste, bekomme ich ::1 statt 127.0.0.1.Rails Client IP :: 1?

Ich habe die folgenden zwei Ansätze in meinem Controller versucht:

request.remote_addr

request.remote_ip

Der Versuch, auf Schienen 5 beta3 wenn es ankommt.

Antwort

3

Dies ist IP V6 Localhost/127.0.0.1

+0

Wie bekomme ich V4 IP? –

+1

Im Allgemeinen: Sie können nicht. IPv6 hat einen viel größeren Adressraum als IPv4, daher gibt es eine Zuordnung. Es gibt einige IPv6-IPs, die IPv4-IPs entsprechen, aber Sie können dies nicht für alle von ihnen tun. –

+0

Rails definiert ['ActionDispatch :: Request :: LOCALHOST'] (https://github.com/rails/rails/blob/e595d91ac2c07371b441f8b04781e7c03ac44135/actionpack/lib/action_dispatch/http/request.rb#L26), was man vielleicht in Erwägung zieht es zum Vergleich. – mudasobwa