ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: smtp proxy



Hello Andrey,

You wrote on Thursday, April 19, 2007, 11:13:15 AM:

AYO> 1. Из неочевидного: невозможно назначить access_log и error_log внутри
AYO> секций mail{} и server{} внутри mail.

access_log только для http, и определяется эта директива в модуле 
ngx_http_log_module

А куда добавить описание error_log пока не придумал :)

Что касается access_log, то можно писать его так:

http {
    log_format mail '[$time_local] $http_auth_user@$http_client_ip by 
$http_auth_protocol status: "$sent_http_auth_status
" backend: $sent_http_auth_server:$sent_http_auth_port attempt: 
$http_auth_login_attempt auth: $http_auth_method';
    access_log  /var/log/nginx/access.log mail;

    server {
        listen       127.0.0.1:7000;
        error_page 502 504 = /null;
        location = /null {
                internal;
                add_header Auth-Status "Try later";
                return 204;
        }
        location /auth.cgi {
                fastcgi_pass   unix:/var/run/fcgi/auth;
                allow 127.0.0.1/32;
                deny  all;
        }
    }
}

mail {
     auth_http    localhost:7000/auth.cgi
     .....
}
    
AYO> 2. http://citrin.ru/nginx:ngx_mail_core_module - небольшая ошибка в
AYO> документации:

>> *smtp_auth
>> syntax*: pop3_auth /*[login] [plain] [cram-md5]*/
>>
AYO>               ^^^^^^^^^^^^^^

Спасибо, поправил.

AYO> 3. А вообще smtp без авторизации - нельзя включить? У меня почему-то
AYO> ругается, что
AYO> 530 5.7.1 Authentication required

Нет. Такой функциональности не предусмотрено в данном модуле.

Клиентов с обязательной авторизации и без неё нужно разносить по
разным ip и/или портам.

В целом хочу заметить, что использовать данный smtp-proxy имеет смысл
только ради авторизации через http сервер (где можно гибко задавать
различные условия и быстро их менять).

Загрузку сервера он снижает только при очень специфичной нагрузке -
когда идет много подключений от зомби (трояны/вирусы), которые очень
медленно подключаются (и большая часть из них просто отваливается по
таймауту), потом очень медленно пытаются что то отправить (без
авторизации там, где она обязательна). nginx может не напрягаясь
посылать далеко тысячи таких зомби и до MTA (postfix/exim/sendmail)
допускать только тех, кто указал правильный пароль.

Что касается проксирования smtp для входящей почты (совсем без
авторизации), то такая функциональность планируется. Но не факт, что
можно будет принимать на одной паре ip/port подключения с авторизацией
и без.

В больших почтовых системах это все равно разные сервера, а в
маленьких и без nginx жить можно...

-- 
 Anton Yuzhaninov.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



 




Copyright © Lexa Software, 1996-2009.