2016-04-15 16 views
0

私はRailsからクライアントIPを取得しようとしていますが、ローカルマシンでこれをテストしているときには、127.0.0.1の代わりに::1が得られます。RailsクライアントIP :: 1?

私は自分のコントローラには、以下の2つのアプローチを試してみました:それが重要ならば

request.remote_addr

request.remote_ip

はRailsの5ベータ3にしようとしています。

答えて

3

これはIP V6 Localhost/127.0.0.1です。

+0

どのようにしてV4 IPを取得できますか? –

+1

一般的には:できません。 IPv6にはIPv4よりもはるかに大きなアドレス空間があるため、マッピングがあります。 IPv4と同等のIPv6 IPがいくつかありますが、すべてのIPに対してこれを行うことはできません。 –

+0

Railsは['ActionDispatch :: Request :: LOCALHOST'](https://github.com/rails/rails/blob/e595d91ac2c07371b441f8b04781e7c03ac44135/actionpack/lib/action_dispatch/http/request.rb#L26)を定義しています。それは比較のためです。 – mudasobwa

関連する問題