proxy_protocol
Директива proxy_protocol позволяет NGINX принимать соединения, использующие PROXY protocol, для почтовых серверов. — NGINX Mail Core
Описание
Директива 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; в противном случае он будет неправильно интерпретировать заголовки.
Если директива включена, почтовый сервер должен быть настроен на приём соединений только от доверенных прокси-серверов.