Re: SSI stub подставляется даже если include вернул ответ со статусом 200
Туманов Александр
tumanov at info74.ru
Thu Feb 6 10:15:28 UTC 2014
Здавствуйте.
Есть файл /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>
При запросе которого по
http://localhost/ssi_stub_memcahed/index.htmlполучаемтакой результат:
<html>
<body>
<h1>SSI STUB MEMCACHED</h1>
<p>Start include with stub</p>
!STUB!
<p>End include with stub</p>
<hr/>
<p>Start include without stub</p>
included successfully
<p>End include without stub</p>
</body>
</html>
В файле /var/local/www/ssi_stub_memcahed/include.htmlзаписана строка:
included successfully
Конфигурация сервера:
server {
listen 80;
server_name localhost;
location / {
root /etc/nginx/html;
index index.html index.htm;
}
location /nginx-status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
location /ssi_stub_memcahed/{
default_type text/html;
error_log /var/log/nginx/ssi_stub_memcahced.error debug;
access_log /var/log/nginx/ssi_stub_memcahced.access;
error_page 404 502 504 = @fallback;
set $memcached_key "test|$uri";
memcached_connect_timeout 2;
memcached_read_timeout 5;
memcached_send_timeout 5;
memcached_pass 127.0.0.1:11211;
}
location @fallback {
root /var/local/www;
error_log /var/log/nginx/ssi_stub_memcahced_fallback.error
debug;
access_log /var/log/nginx/ssi_stub_memcahced_fallback.access;
ssi on;
}
}
Почему подключение со стабом работает так как будто произошла ошибка
запроса, если этот файл очевидно есть и отдается со статусом 200?
--
С уважением, Туманов Александр
Подробная информация о списке рассылки nginx-ru