Skip to content
  1. Компоненты
  2. mxHeadless
  3. Конфигурация
  4. Trusted proxies

Trusted proxies ​

Настройка mxheadless_trusted_proxies: список IP через запятую. Значения обрезаются от пробелов, перенос строки и CIDR не читаются.

Поведение ​

Middleware TrustedProxyMiddleware определяет client_ip для атрибута запроса:

REMOTE_ADDRX-Forwarded-Forclient_ip
В спискеЕстьПервый адрес из списка (левый)
В спискеНетREMOTE_ADDR
Не в списке или список пустЛюбойREMOTE_ADDR, заголовок игнорируется

Пустой список безопасен при прямом подключении: заголовок от клиента не попадёт в учёт.

client_ip используется только в rate limit: ключ счётчика считается как sha1(identity + ':' + ip). В журнал mxheadless_api_log IP не пишется, колонки для него в таблице нет, поэтому смена прокси на аудит не влияет.

Ограничения ​

  • Сравнение строгое, список IP целиком: CIDR не поддерживается, указывайте точные адреса балансировщика.
  • Из заголовков прокси читается только X-Forwarded-For. X-Forwarded-Proto и X-Forwarded-Host игнорируются, схема и хост URL собираются из $_SERVER['HTTPS'] и HTTP_HOST. HTTPS настраивайте на reverse proxy.
  • Хедер берётся как есть: если перед mxHeadless стоит несколько прокси, первый адрес в X-Forwarded-For должен быть реальным IP клиента, иначе rate limit посчитает запросы по прокси.

Пример ​

text
203.0.113.10,203.0.113.11