ПРОЕКТЫ 


  АРХИВ 


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: Обработка 502 ошибки в именованном локейшене



Hello!

On Thu, Apr 18, 2013 at 02:31:04PM +0400, Alex Belyansky wrote:

> Добрый день!
> 
> Своими силами проблему никак решить не могу. В дополнение
> прикладываю часть debug.log из которого видно, что идет внутренний
> редирект к странице 500.html,
> когда имеет место 404-ая ошибка и апстрим на нее не ответил.
> А вот в случае 403-ей ошибки, когда апстрим не отвечает, то такого
> редиректа для отдачи 500.html не срабатывает и Nginx отдает свою
> собственную 502-ую.

[...]

> On 17.04.2013 16:14, Alex Belyansky wrote:
> >Добрый день!
> >
> >Имею вот такое в конфигурации:
> >
> >error_page 500 501 502 503 504 /500.html;
> >
> >
> >location / {
> >            try_files   $uri    $uri/   @upstream;
> >            error_page  404 = @upstream;
> >            error_page  403 = @upstream;

Надо сделать так:

               recursive_error_pages on;

> >}
> >
> >location @upstream {
> >    proxy_pass  http://backend;
> >}
> >
> >
> >Когда нет связи с бекендом и при этом запрашивается несуществующая
> >страница (404), то nginx нормально отображает мою 500.html
> >А вот когда запрашивается страница с ошибкой по правам доступа
> >(403), то nginx отображает свою дефолтовую страницу, вместо моей
> >500.html
> >
> >Что делаю не так? Где что прописать, чтобы нормально отображалась
> >моя 500.html для ситуации с 403-ей ?

На самом деле 404-х ошибок у вас просто не бывает - 
перенаправление в @upstream для несуществующих файлов делается 
директивой try_files.

Для того, чтобы можно было делать более одного перенаправления с 
помощью директивы error_page - нужно включить 
recursive_error_pages, см. тут:

http://nginx.org/r/recursive_error_pages

-- 
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.