Re: request limit выставляет 503 статус, но запрос все равно выполняется

Maxim Dounin mdounin на mdounin.ru
Ср Авг 26 21:37:10 UTC 2015


Hello!

On Wed, Aug 26, 2015 at 06:26:23AM -0400, Dremore wrote:

> Добрый день,
> 
> Имеется вот такая зона:
> limit_req_zone $proxy_add_x_forwarded_for zone=rest:30m rate=50r/s;
> 
> И имеется вот такая конфигурация для server секции:
> limit_req zone=rest burst=50 nodelay;
> 
> Есть нюанс, что запросы идут на лоад балансер секцию и дальше
> перенаправляются на выбранный сервер (другая секция), где они уже
> направляются на Томкат. Конфигурация для зоны прописана в секции для лоад
> балансера.
> 
> При превышении числа запросов ожидаю 503 респонс от Nginx на входе, на самом
> же деле запрос все же выполняется сначала, и лишь затем, ему выставляется
> статус 503 с "правильным" телом запроса. Т.е. запрос выполняется, возвращает
> то, что нужно, но его статус выставлен в 503. Подскажите, почему это
> происходит, в чем может быть проблема?

Вероятно, вы с помощью error_page заворачиваете 503-и ошибки опять 
же на бекенд, без изменения запроса.  Смотрите конфиг.

-- 
Maxim Dounin
http://nginx.org/



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