proxy_protocol

Директива proxy_protocol позволяет NGINX принимать соединения, использующие PROXY protocol, для почтовых серверов. — NGINX Mail Core

proxy_protocol
mailmail server
Синтаксисproxy_protocol on | off;
По умолчаниюoff
Контекстmail, mail server
МодульNGINX Mail Core
Аргументыflag

Описание

Директива proxy_protocol, когда она включена в mail context, позволяет NGINX Mail Core обрабатывать соединения, использующие PROXY protocol — стандартный способ передачи информации о клиентском подключении прокси-серверам. Это особенно полезно, когда NGINX используется как reverse proxy, который завершает SSL, или когда он пересылает запросы на backend server, который ожидает получить исходный IP-адрес клиента. Когда эта директива установлена в 'on', SMTP, IMAP или POP3 серверы смогут читать заголовок PROXY protocol. Это позволяет им заносить в лог правильный IP-адрес клиента, вместо того чтобы видеть IP-адрес прокси. Это критично для сценариев с load balancers или reverse proxies, чтобы обеспечить сохранение корректной информации о клиенте на протяжении всего жизненного цикла запроса. Важно отметить, что директива принимает только флаговое значение (on или off), и неправильная конфигурация может привести к ошибкам соединения или к тому, что downstream services будут записывать некорректную информацию об IP-адресе клиента, особенно если backend не понимает PROXY protocol.

Пример конфига

mail {
    server {
        listen 25;
        proxy_protocol on;
        # Additional mail server settings
    }
}

Убедитесь, что сервер бэкенда поддерживает PROXY protocol; в противном случае он будет неправильно интерпретировать заголовки.

Если директива включена, почтовый сервер должен быть настроен на приём соединений только от доверенных прокси-серверов.