Welcome! Log In Create A New Profile

Advanced

Re: error_page & stub не работают вместе

Maksim Anfilatov
December 10, 2012 06:02PM
Доброй ночи.

Спасибо за пояснение, исправил error_page в тестовом примере.
error_page 404 = @ssi_err;

Результат не изменился, stub все равно срабатывает.

С уважением, Максим Анфилатов.


11 декабря 2012 г., 0:55 пользователь Maxim Dounin <mdounin@mdounin.ru>написал:

> Hello!
>
> On Mon, Dec 10, 2012 at 09:52:05PM +0400, Maksim Anfilatov wrote:
>
> > Добрый вечер.
> >
> > Пример из нашей жизни
> >
> > location /ssi_inc/ {
> > memcache_pass ....
> > [получаем из memcache]
> > error_page 404 @ssi_backend;
> > # если нет в memcache пробуем получить с бекенда
> > }
> >
> > location @ssi_backend {
> > proxy_pass ....
> > [обращаемся на backend]
> > }
> >
> > В данном случае логичным казалось бы поведение - вставлять stub, если
> > произошла ошибка, не указанная в error_page для ssi_inc, либо любая
> ошибка
> > при обращении на backend.
>
> А оно вам надо - чтобы nginx догадывался, что вы хотите считать
> ошибкой (и соответственно использовать stub), а что - нет?
>
> Укажите явно, что в случае 404 следует обращаться на бекенд, и
> ответ трактовать не как тело 404 ошибки, и как полноценный ответ.
> И будет счастье. Для этого всего лишь надо добавить "=" в
> директиву error_page, т.е. вместо
>
> error_page 404 @ssi_backend;
>
> написать
>
> error_page 404 = @ssi_backend;
>
> Подробности можно прочитать тут: http://nginx.org/r/error_page/ru.
>
> >
> > С уважением, Максим Анфилатов.
> >
> >
> > 10 декабря 2012 г., 18:46 пользователь Maxim Dounin <mdounin@mdounin.ru
> >написал:
> >
> > > Hello!
> > >
> > > On Mon, Dec 10, 2012 at 03:16:42PM +0400, Maksim Anfilatov wrote:
> > >
> > > > Добрый день.
> > > >
> > > > Наткнулся на неочевидное поведение при совмещении include virtual
> stub с
> > > > error_page в location, обрабатывающем данный include. Простой
> тестовый
> > > > пример.
> > > >
> > > > location /ssi_test/ {
> > > > root /home/woyager/;
> > > > ssi on;
> > > > }
> > > > location /ssi_inc/ {
> > > > root /home/woyager/;
> > > > error_page 404 @ssi_err;
> > > > }
> > > > location @ssi_err {
> > > > return 200 "error from ssi_err";
> > > > }
> > > >
> > > > В ssi_test/index.html
> > > >
> > > > include without stub "<!--# include virtual="/ssi_inc/test.inc" -->"
> <br>
> > > > include with stub <!--# block name="one" -->stub error<!--# endblock
> -->
> > > > "<!--# include virtual="/ssi_inc/test.inc" stub="one" -->" <br>
> > > >
> > > > На выходе имеем
> > > >
> > > > include without stub "error from ssi_err"
> > > > include with stub "stub error"
> > > >
> > > > Вроде в обоих случаях должен бы приходить error from ssi_err.
> > >
> > > Почему? В обоих случаях при обработке включаемого файла
> > > происходит ошибка. В одной случае она включается как есть, в
> > > другом - задан параметр stub, который её перекрывает.
> > >
> > > --
> > > Maxim Dounin
> > > http://nginx.com/support.html
> > >
> > > _______________________________________________
> > > nginx-ru mailing list
> > > nginx-ru@nginx.org
> > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru@nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
>
> --
> Maxim Dounin
> http://nginx.com/support.html
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

error_page & stub не работают вместе

Maksim Anfilatov December 10, 2012 06:18AM

Re: error_page & stub не работают вместе

Maxim Dounin December 10, 2012 09:48AM

Re: error_page & stub не работают вместе

Maksim Anfilatov December 10, 2012 12:54PM

Re: error_page & stub не работают вместе

Maxim Dounin December 10, 2012 03:56PM

Re: error_page & stub не работают вместе

Maksim Anfilatov December 10, 2012 06:02PM

Re: error_page & stub не работают вместе

Maxim Dounin December 12, 2012 01:56PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 110
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready