์๊ฒฉ IP ๋ฏธ๋ค์จ์ด์ ๋ํ
tl;dr plz ์ปค๋ฐ์ ํด๋น ๋ถ๋ถ์ ๋๋๋ฆฌ๋ ค๋ฉด Rails๋ฅผ ์
๊ทธ๋ ์ด๋ํ๊ณ remote_ip
๊ฐ ์ฌ๋ฐ๋ฅธ IP ์ฃผ์๋ฅผ ๋ฐํํ๋๋ก ํ๊ณ ์ถ์ต๋๋ค.
์ด๊ฒ์ ์ฌ์ ํ โโ๋ฌธ์ ์
๋๋ค. ์คํ ์ค๋ฒํ๋ก ๊ฒ์๋ฌผ์์: https://stackoverflow.com/questions/5636032/request-remote-ip-returns-wrong-ip
https://stackoverflow.com/questions/4465476/rails-get-client-ip-address
https://stackoverflow.com/questions/19317255/rails-how-to-obtain-visitors-ip-address
https://stackoverflow.com/questions/1226959/how-to-get-client-ip-and-server-ip-using-rails
์ด ๋ชจ๋ ์ง๋ฌธ์ request.remote_ip
์ฌ์ฉ์ ๊ฐ๋ฆฌํต๋๋ค. ๊ทธ๋ฌ๋ ๋๋๋ก ์๋ชป๋ IP ์ฃผ์๋ฅผ ๋ฐํํฉ๋๋ค. ๋ค์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฐ๋ฅธ IP ์ฃผ์๋ฅผ ์ป์ต๋๋ค.
response = open('https://jsonip.com/').read
data = JSON.parse(response)
ip_address = data['ip']
rescue
ip_address = request.remote_ip
end
ํฅํ ๋ฆด๋ฆฌ์ค์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?
์ด๊ฒ์ด ๋์์ด ๋ ์ ์๋์ง ํ์ธํ์ญ์์ค. remote_ip๋ฅผ ์์ /์ฌ์ ์ํฉ๋๋ค.
https://stackoverflow.com/questions/20124292/how-to-log-real-client-ip-in-rails-log-when-behind-proxy-like-nginx#51440551
#24521์ด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ฒ ๊ฐ์ต๋๊น? ๊ทธ PR์ ์ง์ ์ํฌ ์ํฅ์ด ์์ผ์ ๊ฐ์?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด๊ฒ์ ์ฌ์ ํ โโ๋ฌธ์ ์ ๋๋ค. ์คํ ์ค๋ฒํ๋ก ๊ฒ์๋ฌผ์์: https://stackoverflow.com/questions/5636032/request-remote-ip-returns-wrong-ip
https://stackoverflow.com/questions/4465476/rails-get-client-ip-address
https://stackoverflow.com/questions/19317255/rails-how-to-obtain-visitors-ip-address
https://stackoverflow.com/questions/1226959/how-to-get-client-ip-and-server-ip-using-rails
์ด ๋ชจ๋ ์ง๋ฌธ์
request.remote_ip
์ฌ์ฉ์ ๊ฐ๋ฆฌํต๋๋ค. ๊ทธ๋ฌ๋ ๋๋๋ก ์๋ชป๋ IP ์ฃผ์๋ฅผ ๋ฐํํฉ๋๋ค. ๋ค์ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฐ๋ฅธ IP ์ฃผ์๋ฅผ ์ป์ต๋๋ค.ํฅํ ๋ฆด๋ฆฌ์ค์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๊น?