Использование переменных в ssi stub

Artem Bokhan artist at academ.org
Tue May 26 15:00:45 MSD 2009


> Это из-за того, что /test2.html - локальный файл.
>   

Пускай будет так:

location ^~ /test1.html {
    fastcgi_pass ...;
   ssi on;
}

location ^~ /test2.html {
    proxy_pass ...;
   ssi on;
#   proxy_intercept_errors on;
}

/test1.html возвращает

<!--# set var="var1" value="val1"-->
<!--# block name="stub" -->
<!--#echo var="var1" encoding="none" -->
<!--# endblock -->
<!--# include virtual="/test2.html" stub="stub"-->

/test2.html бэкендом возвращает 404 или 503 ошибку

Дилема:

При proxy_intercept_errors off  <!--#echo var="var1" encoding="none" 
-->  выполняется, stub обрабатывает 503 ошибку, но вместо 404 выводит 
ответ бэкенда.
При proxy_intercept_errors on  <!--#echo var="var1" encoding="none" -->  
не выполняется, однако stub корректно отрабатывает 404 и 503 ошибки.

Ответы бэкендов:

 192.168.2.211:80 -> 192.168.2.211:57194 [AP]
  HTTP/1.1 503 Service Unavailable..Server: nginx/0.7.39..Date: Tue, 26 
May 2009 10:35:17 GMT..Content-Type: text/html; 
charset=utf-8..Connection: close..

T 192.168.2.211:80 -> 192.168.2.211:34944 [AP]
  HTTP/1.1 404 Not Found..Server: nginx/0.7.39..Date: Tue, 26 May 2009 
10:32:54 GMT..Content-Type: text/html; charset=windows-1251..Connection: 
close....<
  !DOCTYPE HTML PUBLIC "-//W


Что я не понимаю?





More information about the nginx-ru mailing list