LINUX.ORG.RU
решено ФорумAdmin

Как и для чего использовать mail модуль в Nginx.

 , , ,


0

4

В Nginx-е есть директивы ngx_mail_* (https://nginx.org/en/docs/).
Не могу понять, в чем их предназначение.
Это вроде как модуль проксирования IMAP/SMTP запросов, но нигде не описано (плохо искал скорее всего), как это работает.
Например кусок конфига ниже:

mail {
    server_name       mail.example.com;
    auth_http         localhost:9000/cgi-bin/nginxauth.cgi;

    server {
        listen   25;
        protocol smtp;
    }
    server {
        listen   143;
        protocol imap;
    }
    server {
        listen   587;
        protocol smtp;
    }
}

Если server_name, listen и protocol здесь указаны для того, чтобы Nginx обрабатывал входящий SMTP и IMAP трафик, то куда эти запросы проксируются?
Т.е. я не вижу здесь к примеру директиву proxy_pass (ведь сам Nginx не работает как SMTP/IMAP сервер).
Вписать не сложно, но почему об этом нигде не сказано?
И зачем нужна здесь директива auth_http (без неё не запускается nginx)?
Ведь авторизация должна выполняться SMTP/IMAP сервером.
Вообще я думал использовать Nginx как прокси для SMTP/IMAP, чтобы создавать TLS подключение с помощью Nginx-а, а не средствами MTA/MDA/etc.
А всё остальное уже просто проксировать, но походу модуль mail в Nginx-е не для этого предназначен...
Либо я что-то не так понимаю.


Ответ на: комментарий от BOOBLIK

Легче от этого не стало.
Как я уже написал, мне не понятно, причем тут авторизация на стороне Nginx-а.
И зачем выполнять авторизацию каким-то скриптом, если этим уже занимается MTA/MDA.
Почему нельзя просто проксировать запросы после TLS подключения?
Или слово proxy тут имеет какое-то другое значение?

Sorcus
() автор топика

В порядке предположения: nginx ставится для выравнивания нагрузки. Например, кто-то нехороший решит заддосить почтовый сервер. Отправляет кучу запросов на авторизацию и занимает все доступные соединения. Если на входе стоит стандартный почтовый сервер, он может быть не рассчитан на это. Либо упадёт, либо зависнет. А nginx изначально рассчитан на обработку множества «плохих» соединений. До нормального почтового сервера плохие запросы не дойдут. Это снизит нагрузку. По сути, схема та же, что и в связке nginx+апач.

botbot
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.