如何使用Rails获取客户端IP和服务器IP

任何人都可以请帮助如何获得客户端IP和服务器IP使用Ruby on Rails?

从你的控制器:

request.remote_ip 

如果您在杂种前使用apache,则remote_ip将返回请求的源地址,在这种情况下,由于Apache Web服务器发出请求,所以在本例中将是本地主机,所以请将其放在控制器中:

 @remote_ip = request.env["HTTP_X_FORWARDED_FOR"] 

要获取服务器IP,请参阅:

在Ruby on Rails中获取主机名或IP

 Thanks: karim79 and Titanous 

在Controller中编写代码

对于客户端IP:

 request.remote_ip @remote_ip = request.env["HTTP_X_FORWARDED_FOR"] 

对于服务器IP:

 require 'socket' def local_ip orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true # turn off reverse DNS resolution temporarily UDPSocket.open do |s| s.connect '64.233.187.99', 1 s.addr.last end ensure Socket.do_not_reverse_lookup = orig end