Я не думаю, что вы получите ваш 'настоящий ip' на localhost, и причина этого на самом деле кроется в TCP / IP.
Удаленный IP-адрес зависит от сети, в которую отправляется запрос. Поскольку отправка вашего IP-адреса при обмене данными является частью TCP / IP, он всегда преобразуется в относительный IP-адрес, который может понять компьютер назначения. Когда запрос находится в вашей подсети, это ваш локальный IP-адрес. В тот момент он выходит в сеть через поставщик услуг, он предполагает глобальный IP-адрес, который может быть прослежен назад к поставщику услуг (Примечание: это спорно и зависит от настроек сети)
.
Так что, если вы проводите локальное тестирование, это будет 127.0.0.1, как вы уже видели. Если вы отправляете его по локальной сети, это будет ваш IP в этой сети. Например, IP-адрес моей машины в офисной сети - 192.168.1.7, и если я получаю доступ к своему приложению через порт 3000 через другой компьютер в той же сети, например, из 192.168.1.13, то я получаю request.remote_ip как 192.168.1.13
Это означает, что, пока вы находитесь на локальном хосте, 127.0.0.1 - это ваш реальный IP. И аналогично в упомянутом выше примере 192.168.1.13 - это реальный IP-адрес компьютера, отправившего запрос.