Получить собственный IP-адрес

Как получить собственный IP-адрес с Rails?

Когда я делаю это так, я получил: 127.0.0.1

@ip = request.remote_ip

Есть ли способ получить общедоступный IP-адрес?

Ответы

Ответ 1

Try:

require 'socket'
ip=Socket.ip_address_list.detect{|intf| intf.ipv4_private?}
ip.ip_address if ip

Ответ 2

Я считаю, что request.env['SERVER_NAME'] работает, если вы хотите отразить адрес базы сервера назад

Ответ 3

Попробуйте следующее:

request.env['REMOTE_ADDR']

Ответ 4

Вызовите страницу, используя свой IP-адрес, а не localhost. I.e, 192.168.2.9:3000 в случае среды разработки по умолчанию:

request.env['REMOTE_ADDR']
#=> 192.168.2.9

или

request.remote_ip 
#=> 192.168.2.9 

Ответ 5

Поскольку ваш запрос является локальным для сервера, он возвращает адрес "localhost", т.е. 127.0.0.1. Если вы запросите его у компьютера, размещенного в Интернете, он предоставит вам статический IP-адрес удаленного сервера.

Если вы хотите статический IP-адрес собственного интернета, посетите http://ping.eu, и вы сможете увидеть свой публичный IP-адрес.