Rails: `request.remote_ip` возвращает неверный IP-адрес

Созданный на 18 окт. 2012  ·  3Комментарии  ·  Источник: rails/rails

Последняя фиксация промежуточного программного обеспечения удаленного IP-адреса, похоже, намеренно изменила алгоритм, выбирающий удаленный IP-адрес из списка прокси. К сожалению, предыдущий алгоритм (который я написал и использовал в производстве с несколькими сотнями тысяч клиентов: P) - это тот алгоритм, который согласуется с письменной спецификацией того, как должен работать X-Forwarded-For.

tl; dr plz, чтобы отменить эту часть фиксации, я хотел бы иметь возможность обновить Rails, но при этом remote_ip возвращает правильный IP-адрес.

actionpack

Самый полезный комментарий

Это все еще проблема. Из сообщений о переполнении стека: 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

Есть ли возможность исправить это в будущем выпуске?

Все 3 Комментарий

Это все еще проблема. Из сообщений о переполнении стека: 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 поможет решить эту проблему? Кто-нибудь из вас захочет продвигать вперед этот пиар?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги