On 19.06.2010 23:36, vgoncharov wrote:
> Я говорю о том, что НЕИЗВЕСТНО какие
> location в каких серверах надо тормозить,
> а какие не надо. Но я точно знаю, что надо
> ограничиваь скорость к .php. Изучать 100
> серверов можно. Но проще отказаться от
> фичи ограничения скорости.
но ведь limit_req для .php можно прописать
внутри блока location ~ \.php$ { ... } ?
> Важно понимать, что сегодня
> прописывание limit_req в location "/" в общем
> случае - бестолковое занятие. Тк есть и
> картинки и стили и js и прочая лабудень.
> Юзер кликнул, а на сервер сотня
> запросов, а ленко и больше.
если статика отдается с более конкретных location,
и в location / попадают только запросы к backend`у,
то такая схема работает практически идеально.
> Поэтому надо отделять запросы скорость
> к которым надо ограничивать (скрипты)
> от запросов к которым НЕ надо
> ограничивать скорость (статика). Сейчас
> это можно сделать только описываем
> разных location'ов для статики и для
> динамики.
разумеется, если разным location`ам
нужна разная обработка, это надо явно
описать в конфиге, а как же иначе-то?
> В этом и проблема. Сейчас нужно
> индивидуально настраевать каждый
> сервер бакенда. Скриптом определить в
> каком location там статика, а в каком
> динамика - НЕВОЗМОЖНО. Поэтому
> невозможно сгенерировать нужный
> конфиг.
>
> Но по $uri это можно сделать в
> большинстве случаев. Да, не во всех. *.gif
> МОЖЕТ оказаться динамикой, но .php
> статикой уж врядли будет являтся. При
> этом в .gif автоматические искатели
> уязвимостей врядли смогут заподозрить
> скрипт, в отличии от *php.
>
> Я все равно плохо объяснил?
пока что не ясно почему location ~ не подходит.
> Своими словами:
> location / {
>
> ограничить_скорость_запросов_к_$uri=~/\.php/_до_1r/s
> nodelay burst=3
> }
location ~ \.php$ {
limit_req zone=one burst=3 nodelay;
proxy_pass ...;
}
location ~* \.(gif|jpg|jpeg)$ {
root /srv/site/example.com/htdocs;
expires 24h;
}
--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru