On Saturday, 13 February 2016 05:15:29 UTC-5, Ruby-Forum.com User wrote: > > I am using a Rails 4 application, when in production mode i am getting > same IP address for all the members of the same organisation. The > requirement is to get different IP address for each member so as to > uniquely identify each system. > > request.remote_ip > request.env['HTTP_X_REAL_IP'] > request.env["HTTP_X_FORWARDED_FOR"] > > All these fetches me the same IP for each system. How can i uniquely > identify each system? Please help. > > `remote_ip` is calculated from the other two (and a few additional headers). The calculation may sometimes misunderstand the network topology, so if you're getting an IP that's part of your infrastructure (load balancers / proxies / etc) for every client it may be worth looking into.
Otherwise, your options are very limited. One of the *purposes* of organization-level NAT is to avoid leaking internal addresses / machine identities to the outside (for security). I've read of a way to use the Javascript WebRTC API to get the client's LAN address, but I wouldn't recommend depending on that for anything like licensing or authorization since any data coming from JS is trivially spoofable. I'd recommend that you push back on whoever / whatever is imposing this requirement to figure out what the intent is. You may need to find an alternative way to achieve that goal. --Matt Jones -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/121d56da-5642-4cca-bdad-88e30b1012d1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

