if () {limit_rate ...} на уровне server{}
Igor Sysoev
is at rambler-co.ru
Thu Jan 26 10:46:31 MSK 2006
On Thu, 26 Jan 2006, Alexey Polyakov wrote:
> У меня при попытке поместить конструкцию if () {limit_rate ...} на
> уровне server{} - nginx -t ругается, что директива limit_rate не
> разрешена в данном месте. При переносе внутрь location работает
> нормально. Это так и должно быть? В мануале написано, что limit_rate
> разрешено на всех уровнях.
Исправлю в документации. Реально limit_rate можно задавать на уровнях
http, server, location, if в location
Можно было бы сделать "if в server", но это лишь будет вводить
в заблуждение, поскольку эта конфигурация пропадёт при попадании в
любой location. Внутри "if в server" разрешены только директивы
ngx_http_rewrite_module, они могут выполнятся во время запроса,
а значения всех остальных директив - это статические данные, которые
создаются во время конфгурации, и при выборе server или location
просто копируется указатель на эти статические данные.
> Кстати, в мануале также написано, что limit_rate задается в килобайтах
> в секунду, а в реальности насколько я понимаю все же в байтах в
> секунду.
Да, в байтах. Исправлю.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list