Nginx - proxy POP3, IMAP

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kharkov_max
капитан
Сообщения: 1862
Зарегистрирован: 2008-10-03 14:56:40

Nginx - proxy POP3, IMAP

Непрочитанное сообщение kharkov_max » 2011-04-28 14:12:15

Добрый день.

Необходимо реализовать проксирование POP3 и IMAP на несколько внутренних mail серверов.
Погуглив остановился на nginx.

Система:

Код: Выделить всё

uname -a
FreeBSD gateway8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Mar  4 12:03:58 EET 2011     root@gateway:/usr/obj/usr/src/sys/FREE82  amd64
Порт:

Код: Выделить всё

nginx -V
nginx: nginx version: nginx/1.0.0
nginx: TLS SNI support enabled
nginx: configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-debug --without-http --with-mail --with-mail_ssl_module
Порт собрал с поддержкой всех mail и perl_module. Все Http выключил.
Нарисовал конфиг:

Код: Выделить всё

cat ./nginx.conf

#user  nobody;
worker_processes  2;

error_log  logs/error.log;
# error_log  logs/error.log  notice;
# error_log  logs/error.log  info;

# pid        logs/nginx.pid;

events {
    worker_connections  128;
}

mail {
        server_name     mkh.mine.nu;
        auth_http       localhost:9999/cgi-bin/nginxauth.cgi;
        proxy on;

        imap_capabilities "IMAP4rev1" "UIDPLUS" "IDLE" "LITERAL+" "QUOTA";
        server {
                listen *:143;
                protocol imap;
        }

        pop3_capabilities "LAST" "TOP" "USER" "PIPELINING" "UIDL";
        server {
                listen *:110;
                protocol pop3;
        }
}
Nginx запустился и стал отвечать на портах 110 и 143.
Далее не могу понять:
1. Каким образом объяснить nginx куда, на какие mail сервера заворачивать (проксировать) трафик.
Вроде как можно реализовать через перловый скрипт mailauth.pm, но не могу его найти в системе, хотя nginx собран с поддержкой perl
2. Как пользователь будет проходить аутентификацию через nginx?

Если у кого есть опыт по настройке подскажите, помогите советом.
Если есть сцылко на путную статью, буду премного благодарен.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/