@Animkim
Питон вокруг меня

Remote_addr и user ip?

Стоит связка nginx gunicorn django.
В базу пишется ip пользователя когда пользователь оставляет заявку, используется просто как доп информация о пользователе.
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-Protocol $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

Так вот, замечаю что в базе много заявок с ip самого сервера. Провел расследование, но так и не смог добиться что бы вместо моего ip(или прокси не важно) в базу записалось ip сервера.
В базу пишется ip из HTTP_X_FORWARDED_FOR, если пусто то из HTTP_X_REAL_IP.
Как я понял при пустой заголовке HTTP_X_FORWARDED_FOR, nginx туда кладет $remote_addr.
В общем не как не могу я понять откуда берется ip сервера и почему это происходит не всегда, а иногда. Может кто-нибудь хотя бы подкинет мысль.
  • Вопрос задан
  • 1404 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ollisso
proxy_add_x_forwarded_for опасный заголовок, так как фактически, любой прокси может его модифицировать как угодно.

простой пример, ставлю я себе локальный прокси и настраиваю его чтобы в этот заголовок писался айпи пентагона. Вы сохраните у себя информацию о том что из пентагона к вам заходили :)

Если вы используете его - то нужно использовать его только для доверенных айпи адресов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы