Dobranie się do request ip

Potrzebuję dobrać się do ip requestu. Z tego co wyszukałem, powinno się to znaleźć w request.env[‘REMOTE_ADDR’], niestety czy to development czy production, dostaję 127.0.0.1
Podejrzałem więc czy jest gdzieś moje ip w całym request.env, okazało się, że tak. W dwóch miejscach ‘HTTP_X_FORWARDER’ i ‘action_dispatch.remote_ip’.

W widoku próbowałem wyświetlić oba,

  • ‘HTTP_X_FORWARDER’ pokazuje mi blanka
  • ‘action_dispatch.remote_ip’ daje dobre ip

Dlaczego REMOTE_ADDR tak to pokazuje (na serwerze mam nginx i unicorna, moze tutaj cos miesza) i czy ‘action_dispatch.remote_ip’ to dobry sposób na dobranie się do tego ip?

Tak, dobry. Po prostu wewnątrz własnego systemu pracujesz z lokalnym IP (właśnie 127.0.0.1 aka. localhost), w sieci lokalnej z innym (zależnie od rotera, najczęściej 192...*), a poza siecią jesteś widoczny z tym szukanym IP…

Trochę bez sensu byłoby komunikować się procesom przez zewnętrznego hosta, hmm?