Панели хостинга Linux; Nginx / Apache / PHP-FPM (в зависимости от панели)

Панель управления хостингом: при работе за обратным прокси теряется исходный адрес клиента

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Когда сайт работает за CDN или балансировщиком, веб-сервер видит TCP-соединение от прокси. Восстановление IP возможно только при корректных доверенных заголовках; без ограничения источников злоумышленник сможет подменять адрес.

В этой статье
  1. Симптом и границы применимости
  2. Возможные причины и признаки
  3. Пошаговая диагностика и исправление
  4. Проверка результата
  5. Если проблема осталась
  6. Безопасный откат

#Симптом и границы применимости

Когда сайт работает за CDN или балансировщиком, веб-сервер видит TCP-соединение от прокси. Восстановление IP возможно только при корректных доверенных заголовках; без ограничения источников злоумышленник сможет подменять адрес.

Эта инструкция относится к конкретному сайту в панели управления хостингом, когда его обслуживают Nginx, Apache, PHP-FPM или их сочетание. Названия разделов и доступность SSH зависят от установленной панели и прав пользователя; шаги, которых нет в вашем интерфейсе, выполняет администратор сервера.

#Возможные причины и признаки

Возможная причинаКак узнатьЧто делать
Не настроен realip/remoteipВ журнале все посетители представлены одним IP промежуточного узлаВнешние адреса видны в доверенном заголовке проксиНастроить доверенный список прокси
Заголовок не передаётсяНужное поле отсутствует на границе между Nginx и ApacheВнутренний Apache видит лишь адрес NginxПроверить proxy_set_header и последовательность прокси
Неверный порядок доверияВ списке доверены лишние сети или все клиентыIP легко подменяется через X-Forwarded-ForОграничить доверие только адресами своих прокси

#Пошаговая диагностика и исправление

  1. Определите реальную цепочку соединенийНарисуйте путь: браузер → CDN/балансировщик → Nginx → Apache/PHP, если они присутствуют. В панели проверьте, кто принимает внешний 443. Не применяйте настройки CDN, если сайт доступен напрямую из интернета.
  1. Снимите безопасный контрольный журналС собственного устройства откройте тестовую страницу один раз и запишите внешний IP, время и запись access.log. Убедитесь, что наблюдаемый адрес действительно прокси; не публикуйте журналы с личными данными.
  1. Проверьте поддержку модулейВ Nginx ищите наличие realip_module и используемые real_ip_header / set_real_ip_from; в Apache проверьте mod_remoteip. Если панель генерирует конфигурацию, меняйте её только через поддерживаемые поля.
    Linux · Терминал (Bash)Команда
    SSH, без привилегий в типовой установке. Если сборка динамическая, одного grep недостаточно: изучите загружаемые модули.
    nginx -V 2>&1 | grep -o http_realip_module
  1. Ограничьте доверенные проксиУкажите точные IP/подсети реальных прокси в set_real_ip_from или RemoteIPTrustedProxy. Заголовки X-Forwarded-For / X-Real-IP должны поступать от контролируемого промежуточного узла. Никогда не задавайте доверие ко всем адресам Интернета.
  1. Сохраните корректную передачу полейЕсли есть внутренний Apache, проверьте, что Nginx передаёт правильный адрес дальше; для нескольких прокси потребуется учитывать их порядок. Не объединяйте proxy_protocol с обычным HTTP-заголовком без согласованной конфигурации обеих сторон.
  1. Проверьте синтаксис и выполните штатное применениеСохраните резервную копию конфигурации и используйте тест выбранного веб-сервера. После успешного теста примените настройки через панель или правильную службу, не меняя весь сайт одновременно.
  2. SSH с правами администратора; тест только для Nginx
    Linux · Терминал (Bash)КомандаНужен sudo
    SSH с правами администратора; тест только для Nginx. Для Apache проверяйте apachectl -t.
    sudo nginx -t
  1. Проверьте невозможность подделкиПроверьте, что журнал показывает ожидаемый IP реального клиента за прокси. Отдельно с разрешённой тестовой машины попробуйте запрос с произвольным X-Forwarded-For к прямому интерфейсу: такой заголовок не должен подменять IP. Если подмена возможна, откатите конфигурацию.

#Проверка результата

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

#Если проблема осталась

Если адрес остаётся адресом CDN, проверьте актуальный список IP CDN и название передаваемого им заголовка; не доверяйте пользовательскому заголовку без контроля источника.

#Безопасный откат

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

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.