ПРОЕКТЫ 


  АРХИВ 


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: SSI stub подставляется даже если include вернул ответ со статусом 200



Hello!

On Fri, Feb 07, 2014 at 09:33:02AM +0600, Туманов Александр wrote:

> 06.02.2014 19:33, Maxim Dounin пишет:
> >Hello!
> >
> >On Thu, Feb 06, 2014 at 04:15:28PM +0600, Туманов Александр wrote:
> >
> >>Здавствуйте.
> >>
> >>Есть файл /var/local/www/ssi_stub_memcahed/index.htmlс SSI вставками:
> >>
> >><html>
> >><body>
> >>     <h1>SSI STUB MEMCACHED</h1>
> >>     <p>Start include with stub</p>
> >>     <!--# block name="one" -->!STUB!<!--# endblock -->
> >>     <!--# include virtual="/ssi_stub_memcahed/include.html" stub="one" -->
> >>     <p>End include with stub</p>
> >>     <hr/>
> >>     <p>Start include without stub</p>
> >>     <!--# include virtual="/ssi_stub_memcahed/include.html" -->
> >>     <p>End include without stub</p>
> >></body>
> >></html>
> >[...]
> >
> >>                 error_page    404 502 504 =    @fallback;
> >[...]
> >
> >>Почему подключение со стабом работает так как будто произошла ошибка
> >>запроса, если этот файл очевидно есть и отдается со статусом 200?
> >С формальной точки зрения - при обработке запроса к
> >/ssi_stub_memcahed/include.html происходит ошибка 404, строго как
> >документировано,
> >http://nginx.org/ru/docs/http/ngx_http_ssi_module.html#commands:
> >
> >: stub
> >: нестандартный параметр, задающий имя блока, содержимое которого
> >: будет выведено, если тело ответа на включаемый запрос пустое или
> >: если при исполнении запроса произошла ошибка
> >
> >Возможные последующие перенаправления по error_page stub не
> >учитывает.  С логической точки зрения, stub - это альтернативный
> >error_page метод обработки ошибок.
> >
> Но ведь когда запрашиваем include.html, мы видим:
> lynx -head -dump http://localhost/ssi_stub_memcahed/include.html
> 
> HTTP/1.1 200 OK
> Server: nginx/1.2.4
> Date: Fri, 07 Feb 2014 03:30:56 GMT
> Content-Type: text/html
> Connection: close
> 
> Т.е, наверное, проблема где-то в подзапросах.

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

-- 
Maxim Dounin
http://nginx.org/

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


 




Copyright © Lexa Software, 1996-2009.