任何人都可以请求帮助如何使用Ruby on Rails获取客户端IP和服务器IP?如何使用Rails获取客户端IP和服务器IP
59
A
回答
35
感谢:karim79和泰坦尼克号。
写控制器
的代码对于客户端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
84
从你的控制器:
request.remote_ip
如果您在杂种前使用Apache,然后remote_ip将返回的要求,在这种情况下将是本地主机的源地址,因为Apache Web服务器发出请求,这样反而把这个在你的控制器:
@remote_ip = request.env["HTTP_X_FORWARDED_FOR"]
获取服务器IP看到:
相关问题
- 1. 获取Web服务客户端IP
- 2. c#TCP/IP服务器和客户端
- 3. 如何通过xinetd从java服务器获取客户端IP?
- 4. 如何在NanoHTTPD(HTTP服务器)中获取客户端的IP?
- 5. 如何在镖架-rpc服务器中获取客户端IP
- 6. 使用客户端IP作为服务器IP
- 7. DARTlang获取客户端IP
- 8. TCP/IP客户端和服务器使用基本和
- 9. 在服务器端,获取客户端连接的服务器IP
- 10. C#公共IP客户端/服务器
- 11. 使用python获取客户端ip
- 12. 如何在spyne服务中获取客户端IP
- 13. JAX-WS Web服务如何获取客户端IP
- 14. 如何获取客户端IP地址
- 15. 如何获取客户端IP地址
- 16. 从服务器获取客户端的IP地址
- 17. CSocket服务器获取客户端IP地址
- 18. 从服务器JSP获取客户端IP [安全]
- 19. 用Rails和Nginx获取客户端的真实IP地址?
- 20. Rails客户端IP :: 1?
- 21. 获取客户端IP的Web服务在Java 6 embbeded HTTP服务器
- 22. 如何在php中获取客户端ip地址和端口?
- 23. 如何在golang节俭服务器中获取客户端的IP
- 24. 如何获取身份服务器中客户端的远程IP地址4
- 25. 如何从服务器获取我的Corba客户端的IP地址
- 26. 谷歌地理编码客户端IP或服务器IP的使用限制?
- 27. 从IP V4客户端访问IP V6服务器中的Web服务
- 28. 获取SOAP服务客户端的IP地址
- 29. PHP使用客户端IP连接到SMTP服务器
这是工作,但我需要两个客户端IP,也服务器IP在一起 – 2009-08-04 11:36:11
这是因为您的服务器正在将请求代理到rails服务器。您必须设置您的前台服务器(apache或任何您可能拥有的)以发送原始请求的IP。你能提供关于你的配置的更多细节吗? – 2009-08-04 11:40:56