2016-04-15 138 views
0

我想從Rails中獲取客戶端IP,但是當我在本地機器上測試時,我得到的是::1而不是127.0.0.1Rails客戶端IP :: 1?

我曾嘗試以下兩種方法在我的控制器:

request.remote_addr

request.remote_ip

on Rails的5 beta3版嘗試,如果該事項。

回答

3

這是IP V6本地主機/ 127.0.0.1

+0

如何獲得V4 IP? –

+1

一般來說:你不能。 IPv6具有比IPv4更大的地址空間,因此存在映射。有一些IPv6地址等同於IPv4地址,但是你不能對它們全部執行此操作。 –

+0

Rails定義了['ActionDispatch :: Request :: LOCALHOST'](https://github.com/rails/rails/blob/e595d91ac2c07371b441f8b04781e7c03ac44135/actionpack/lib/action_dispatch/http/request.rb#L26),可以考慮使用它用於比較。 – mudasobwa