limit req на статику и нет

Vanya nginx-forum на nginx.us
Сб Янв 9 08:43:24 MSK 2010


Продолжаем разговор о невозможном (а может и возможном?)

стоит apache, спрятанный за nginx`ом (проапгрейдил до 0.7.64)

на сервере есть куча статики (ее отдает nginx) и куча нестатики, которую обрабатывает апач.

фильтрация запросов и отделение статики от нестатики реализовал в конфиге при помощи чудовищной, на первый взгляд, конструкции в виде двух if


if (!-e $request_filename) {
proxy_pass <апач>
}
if (-e $request_filename) {
expires 14d;
}


Возможно есть более правильные варианты (если не лень, подскажите, буду рад), но в любом случае по производительности этот вариант меня пока устраивает . Вернее устраивал.

Устраивал, пока я не захотел прикрутить limit_req. (любители скачать сайт на свой компьютер при помощи всяких телепортов невольно ддосят его:)

Собственно задача: я хочу задать разные ограничения на количество соединений. Чтобы статика, к примеру, лимитировалась 20 r/s, а динамика - 1r/s (ибо апач тянет за собой мускул, а сервер всего один и ресурсы его не безграничны)

Проблема в том, что limit_req не умеет жить в if`е, по определению. Как решить мою задачу, есть идеи? 

Спасибо.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,38982,38982#msg-38982




Подробная информация о списке рассылки nginx-ru