Назад | Перейти на главную страницу

IP-адрес частного адресного пространства найден в X-Forwarded-For

Я выполняю обратное проксирование с nginx за балансировщиком нагрузки Google Cloud (HTTPS), поэтому я добавляю X-Forwarded-For заголовок, чтобы серверная часть могла извлечь IP-адрес клиента (браузера).

Сегодня утром я заметил 10.x.x.x IP в логах, как такое возможно?

Как ваш журнал интерпретирует заголовок, содержащий несколько IP-адресов? Если он берет первый IP-адрес вместо правильного, это вполне может быть адрес, добавленный кем-то вперед прокси вместо вашего обеспечить регресс прокси.

Заголовок и его содержимое задокументированы в GCP. Настройка балансировки нагрузки HTTP (S) статья:

X-Forwarded-For: <unverified IP(s)>, <immediate client IP>, <global forwarding rule external IP>, <proxies running in GCP> (только запросы)

Список IP-адресов, разделенных запятыми, добавленных посредниками, через которые прошел запрос. Если вы используете прокси внутри GCP, которые добавляют данные в X-Forwarded-For заголовок, то ваше программное обеспечение должно учитывать существование и количество этих прокси. Только <immediate client IP> и <global forwarding rule external IP> записи предоставляются балансировщиком нагрузки. Все остальные записи в списке передаются без проверки.

Просто отрегулируйте ведение журнала соответствующим образом.

Я использую облачный балансировщик нагрузки Google и облачный DNS Google и nginx в качестве обратного прокси. и используя конфигурацию nginx ниже.

set_real_ip_from 10.48.0.0/14;
set_real_ip_from 10.128.0.0/9;
set_real_ip_from 10.114.44.0/22;
real_ip_header X-Forwarded-For;
real_ip_recursive on;

он работает с облачным DNS, но не с облачным DNS Google и маршрутом AWS 53, с которым проблема связана с 1 месяцем. я также использовал real_ip_header CF-Connecting-IP; но все еще не получает IP-адрес клиента, я всегда вижу локальные IP-адреса экземпляров gcp в журналах nginx, есть ли какие-либо проблемы с DNS, дайте мне знать, как решить эту проблему.