Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Yandex AI Studio
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Video
    • Stackland
    • Yandex Cloud Router
    • Yandex Managed Service for Trino
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Yandex StoreDoc
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Managed Service for YDB
    • Managed Service for Sharded PostgreSQL
    • Managed Service for YTsaurus
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • SpeechKit
    • DataSphere
    • Vision OCR
    • Translate
    • Yandex Neurosupport
    • Yandex Cloud Detection and Response
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • SmartCaptcha
    • Cloud Desktop
    • GOST Gateway
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Container Registry
    • Managed Service for GitLab
    • SourceCraft
    • Managed Service for Prometheus®
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Message Queue
    • Serverless Integrations
    • IoT Core
    • Data Streams
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Yandex Cloud Quota Manager
    • Cloud Apps
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Yandex Cloud Trust
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Все решения
    • Все решения для Application Load Balancer
    • Устранение ошибки `no_route` при открытии адреса
    • Устранение сложностей с добавлением маршрута
    • Как получить реальный IP-адрес источника в заголовках запросов

В этой статье:

  • Описание задачи
  • Решение
  1. Application Load Balancer
  2. Как получить реальный IP-адрес источника в заголовках запросов

Как получить реальный IP-адрес источника в заголовках запросов

Статья создана
Yandex Cloud
Обновлена 17 октября 2025 г.
Открыть в Markdown
  • Описание задачи
  • Решение

Описание задачиОписание задачи

Необходимо журналировать внешние IP-адреса клиентов, устанавливающих соединения с балансировщиком.

РешениеРешение

Когда трафик перехватывается между клиентами и серверами, журналы доступа к серверу содержат только IP-адрес прокси-сервера или балансировки нагрузки.

В Yandex Network Load Balancer IP-адрес удаленного хоста, инициирующего запрос, виден по умолчанию без дополнительных настроек, если не используется Ingress Controller для Kubernetes. При его использовании для сохранения реальных адресов запросов необходимо вручную настроить политику TrafficPolicy: local по инструкции.

При использовании Yandex Application Load Balancer IP-адрес источника запроса фигурирует в заголовке X-forwarded-for.
Заголовок X-Forwarded-For необходим для идентификации происхождения IP-адреса пользователя, подключающегося к веб-серверу через HTTP-прокси или балансировщик нагрузки.

Если необходимо журналировать внешние адреса в журнал веб-сервера, потребуется изменить его конфигурацию.

Nginx
Apache

Если в качестве бэкенда используется веб-сервер Nginx, то в конфигурации службы Nginx внутри блока log_format должна содержаться переменная http_x_forwarded_for:

log_format main '$remote_addr - $http_x_forwarded_for - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" $request_time';

Если в качестве бэкенда используется веб-сервер Apache, в конфигурации службы Apache должна содержаться переменная %{X-Forwarded-For}:

Log format config

LogFormat "%{X-Forwarded-For}i %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" common
SetEnvIf X-Forwarded-For "^......." forwarded
CustomLog "logs/access_log" common env=forwarded

После изменения конфигурации веб-сервера и его перезапуска вы увидите в журналах внешние IP-адреса клиентов.
Например, если на Ingress приходит запрос с IP 123.34.56.67:

kubectl logs nginx-ingress-nginx-ingress-*****
123.34.56.67 - - [28/Jun/2022:09:11:32 +0000] "GET / HTTP/1.1" 200 615 "-" "curl/7.68.0" "-"

В логах пода с бэкендом этот адрес будет фигурировтаь внутри заголовка X-Forwarded-For:

kubectl logs -n demo-ns pod/nginx
10.20.129.8 - - [28/Jun/2022:09:11:32 +0000] "GET / HTTP/1.1" 200 615 "-" "curl/7.68.0" "123.34.56.67"

Была ли статья полезна?

Предыдущая
Устранение сложностей с добавлением маршрута
Следующая
Все решения для Yandex Cloud Billing
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»