Продолжаем разговор о невозможном (а может и возможном?)
стоит apache, спрятанный за nginx`ом (проапгрейдил до 0.7.64)
на сервере есть куча статики (ее отдает nginx) и куча нестатики, которую обрабатывает апач.
фильтрация запросов и отделение статики от нестатики реализовал в конфиге при помощи чудовищной, на первый взгляд, конструкции в виде двух if
[code]
if (!-e $request_filename) {
proxy_pass <апач>
}
if (-e $request_filename) {
expires 14d;
}
[/code]
Возможно есть более правильные варианты (если не лень, подскажите, буду рад), но в любом случае по производительности этот вариант меня пока устраивает . Вернее устраивал.
Устраивал, пока я не захотел прикрутить limit_req. (любители скачать сайт на свой компьютер при помощи всяких телепортов невольно ддосят его:)
Собственно задача: я хочу задать разные ограничения на количество соединений. Чтобы статика, к примеру, лимитировалась 20 r/s, а динамика - 1r/s (ибо апач тянет за собой мускул, а сервер всего один и ресурсы его не безграничны)
Проблема в том, что limit_req не умеет жить в if`е, по определению. Как решить мою задачу, есть идеи?
Спасибо.