UFO ET IT

Rails를 사용하여 클라이언트 IP와 서버 IP를 얻는 방법

ufoet 2020. 12. 7. 21:16
반응형

Rails를 사용하여 클라이언트 IP와 서버 IP를 얻는 방법


누구든지 Ruby on Rails를 사용하여 클라이언트 IP와 서버 IP를 얻는 방법을 도울 수 있습니까?


컨트롤러에서 :

request.remote_ip

잡종 앞에서 apache를 사용하는 경우 remote_ip는 요청의 소스 주소를 반환합니다.이 경우 Apache 웹 서버가 요청을하기 때문에 로컬 호스트가되므로 대신 다음을 컨트롤러에 넣습니다.

@remote_ip = request.env["HTTP_X_FORWARDED_FOR"]

서버 IP를 얻으려면 다음을 참조하십시오.

Ruby on Rails에서 호스트 이름 또는 IP 가져 오기


감사합니다 : karim79와 Titanous.

컨트롤러에서 코드 작성

클라이언트 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

참고 URL : https://stackoverflow.com/questions/1226959/how-to-get-client-ip-and-server-ip-using-rails

반응형