O último commit para o middleware de IP remoto parece ter deliberadamente revertido o algoritmo que seleciona o IP remoto de uma lista de proxies. Infelizmente, o algoritmo anterior (que escrevi e usei na produção com algumas centenas de milhares de clientes: P) é o que concorda com a especificação escrita de como o X-Forwarded-For deve funcionar.
tl; dr plz para reverter essa parte do commit, eu gostaria de poder atualizar o Rails e ainda ter remote_ip
retornando o endereço IP correto.
Isso ainda é um problema. De postagens de estouro de pilha: 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
Todas essas questões apontam para o uso de request.remote_ip
. Mas isso às vezes retorna um endereço IP incorreto. Eu uso o seguinte código para obter um endereço IP correto.
response = open('https://jsonip.com/').read
data = JSON.parse(response)
ip_address = data['ip']
rescue
ip_address = request.remote_ip
end
Existe alguma possibilidade de corrigir isso em uma versão futura?
Verifique se isso pode ajudar. Modifique / substitua remote_ip.
https://stackoverflow.com/questions/20124292/how-to-log-real-client-ip-in-rails-log-when-behind-proxy-like-nginx#51440551
Parece que o # 24521 deve corrigir esse problema? Algum de vocês está disposto a levar adiante esse RP?
Comentários muito úteis
Isso ainda é um problema. De postagens de estouro de pilha: 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
Todas essas questões apontam para o uso de
request.remote_ip
. Mas isso às vezes retorna um endereço IP incorreto. Eu uso o seguinte código para obter um endereço IP correto.Existe alguma possibilidade de corrigir isso em uma versão futura?