Le dernier commit au middleware IP distant semble avoir délibérément inversé l'algorithme qui sélectionne l'IP distante dans une liste de proxys. Malheureusement, l'algorithme précédent (que j'ai écrit et utilisé en production avec quelques centaines de milliers de clients :P) est celui qui est en accord avec les spécifications écrites sur la façon dont X-Forwarded-For est censé fonctionner.
tl; dr plz pour annuler cette partie du commit, j'aimerais pouvoir mettre à niveau Rails et avoir toujours remote_ip
renvoyer la bonne adresse IP.
C'est toujours un problème. À partir des messages de débordement de pile : 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
Toutes ces questions pointent vers l'utilisation de request.remote_ip
. Mais cela renvoie parfois une adresse IP incorrecte. J'utilise le code suivant pour obtenir une adresse IP correcte.
response = open('https://jsonip.com/').read
data = JSON.parse(response)
ip_address = data['ip']
rescue
ip_address = request.remote_ip
end
Y a-t-il une possibilité de corriger cela dans une future version ?
Veuillez vérifier si cela peut vous aider. Modifier/remplacer remote_ip.
https://stackoverflow.com/questions/20124292/how-to-log-real-client-ip-in-rails-log-when-behind-proxy-like-nginx#51440551
On dirait que #24521 est de résoudre ce problème ? L'un d'entre vous sera-t-il prêt à faire avancer ces relations publiques ?
Commentaire le plus utile
C'est toujours un problème. À partir des messages de débordement de pile : 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
Toutes ces questions pointent vers l'utilisation de
request.remote_ip
. Mais cela renvoie parfois une adresse IP incorrecte. J'utilise le code suivant pour obtenir une adresse IP correcte.Y a-t-il une possibilité de corriger cela dans une future version ?