ПРОЕКТЫ 


  АРХИВ 


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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Обработка 502 ошибки в именованном локейшене
  • From: Alex Belyansky <alex.barut@xxxxxxxxx>
  • Date: Thu, 18 Apr 2013 18:18:48 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=DrTBxXSfzyAiOI2PoXojD3nFzo/fTXUks7rveOfPLHk=; b=V5GrAAGuP+qWNW6Fmw7raHg7YsGsO8o/Cqc5x8L33GdYx5UIwgJgF6PZIbcqQBNNua K4Ruc9AA7PbJuv/VXa/MSaBloYisn0QcFQNT8HUmkv63alejjDCd00iLgZGDsfeJaFxj RUKC0OvLXWaA5TJOofGLtJKpd9f9G/dv0YbpOqe/JzTSb4T3IbcnKoJxxv7AmXjXH7mp gIyfGst29pcF/mjhxBIb3Pgb+GdVbTmLbeE3nBcf4yfbk0uBbbHS/Fgdr7U8dulJltkY +fKI7RdUm9/Ff4YoHA3ePPhWG7H5KNosGqCZbfbXQmHFWK6hUxgu09fqp6I8MLtB+YdG GLxg==
  • In-reply-to: <20130418135001.GU92338@mdounin.ru>
  • References: <516E9210.1020906@gmail.com> <516FCB68.3090400@gmail.com> <20130418135001.GU92338@mdounin.ru>

Спасибо, Максим!

Теперь все встало на свои места. Буду внимательней к документации.

On 18.04.2013 17:50, Maxim Dounin wrote:
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


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


 




Copyright © Lexa Software, 1996-2009.