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

Maksim Anfilatov maksim at woyager.ru
Mon Dec 10 17:52:05 UTC 2012


Добрый вечер.

Пример из нашей жизни

location /ssi_inc/ {
           memcache_pass ....
           [получаем из memcache]
           error_page 404 @ssi_backend;
           # если нет в memcache пробуем получить с бекенда
}

location @ssi_backend {
          proxy_pass ....
          [обращаемся на backend]
}

В данном случае логичным казалось бы поведение - вставлять stub, если
произошла ошибка, не указанная в error_page для ssi_inc, либо любая ошибка
при обращении на backend.

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


10 декабря 2012 г., 18:46 пользователь Maxim Dounin <mdounin at 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 at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20121210/c63dff03/attachment-0001.html>


Подробная информация о списке рассылки nginx-ru