ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Глюки в named location



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 mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.