Как найти ip клиента для запроса https (т.е. защищенного соединения) в Rails 2.3.8

Я делаю приложение, в котором мне нужно найти IP-адрес клиента. Я использовал request.remote_ip для получения IP-адреса клиента, и он получил публичный IP-адрес клиента для http-запроса. Когда это запрос https, request.remote_ip извлекает другой ip, например 10.114.237.132 (я думаю, что это частный ip), отличный от публичного ip-адреса. Я также пробовал request.env['REMOTE_ADDR']. Мой вопрос: как найти удаленный ip клиента для https запроса.

1 ответ

Если это IP-адрес балансировщика, попытайтесь выяснить, может ли он предоставить вам HTTP-заголовок для получения IP-адреса клиента. Если вы можете настроить его, или если он уже доказывает это, вы можете проверить HTTP-заголовки, используя этот метод Request.headers().

Заголовок, который вы должны искать, это X-Forwarded-For.

Другие вопросы по тегам