Rails で自分の IP アドレスを取得するには?
このようにすると、次のようになりました。127.0.0.1
@ip = request.remote_ip
パブリック IP を取得する方法はありますか?
Rails で自分の IP アドレスを取得するには?
このようにすると、次のようになりました。127.0.0.1
@ip = request.remote_ip
パブリック IP を取得する方法はありますか?
試す:
require 'socket'
ip=Socket.ip_address_list.detect{|intf| intf.ipv4_private?}
ip.ip_address if ip
request.env['SERVER_NAME']
サーバーベースアドレスを反映したい場合は、うまくいくと思います
リクエストはサーバーに対してローカルであるため、「localhost」アドレス、つまり127.0.0.1
. インターネット上でホストされているマシンからリクエストすると、リモート サーバーの静的 IP が提供されます。
自分のインターネットの静的 IP が必要な場合は、http://ping.euにアクセスすると、パブリック IP を確認できます。
localhost ではなく、IP を使用してページを呼び出します。つまり192.168.2.9:3000
、デフォルトの開発環境の場合、次の結果が得られます。
request.env['REMOTE_ADDR']
#=> 192.168.2.9
また:
request.remote_ip
#=> 192.168.2.9
これを試して:
request.env['REMOTE_ADDR']