Re: Глюки в named location
Maxim Dounin
mdounin на mdounin.ru
Пт Июн 25 16:52:24 MSD 2010
Hello!
On Fri, Jun 25, 2010 at 07:17:16AM -0400, dagr wrote:
> Заметил такую вещь
>
> похоже в именованных location не
> срабатывают
>
> client_max_body_size
> и error_page (или proxy_intercept_errors on ).
>
> Пока все идет через обычный location - все
> работает.
> Но мне нужно в зависимости от
> переменной в урле давать или не давать
>
> спец текст вместо 413 ошибки , поэтому
> пришлось ввести еще именованный.
> Запросы раскидываются через эти 2 location
> как надо, по логам вижу.
>
> Вопрос - можно ли это как то обойти ?
Ошибка 413 случается на этапе поиска конфига, когда nginx выбирает
подходящий location. Переход в именованный location этот этап
минует, и соотетственно другой лимит на body/error_page 413 не
отработает. Наверное это неправильно.
Что касается workaround'а, то в данном случае проще всего делать
дифференциацию уже на этапе обработки error_page 413, т.е. как-то
так:
location / {
error_page 413 /413.html;
...
}
location = /413.html {
if (...no custom error...) {
return 413;
}
# custom error is here, in /413.html
}
Maxim Dounin
Подробная информация о списке рассылки nginx-ru