2011-04-01 5 views
4

У меня возникают проблемы с получением даже самого простого из лакового кэш-памяти Тесты ESI для работы.
После попытки и попытки я подумал, что прошу здесь.Ключ лака не будет включать ESI

В основном это просто не включает файл ESI. Он просто возвращает HTML-код без его включения.

Вот мой лак начать команду:

varnishd -f /etc/varnish/default.vcl -s malloc,128M -T 127.0.0.1:2000 -a 0.0.0.0:8080; 

Вот URL Я тестирую с:

http://vbox.local:8080/varnish-tests/test.php 

Мои правила VCL:

1) default.vcl

backend default { 
.host = "127.0.0.1"; 
.port = "80"; 
} 

sub vcl_fetch { 

    if (req.url ~ "test.php") { 
     esi; /* Do ESI processing */ 
     set beresp.ttl = 24h; 
    } elseif (req.url ~ "esi_1.php") { 
     set beresp.ttl = 1m; 
    } 
return(deliver); 
} 

My sampl е испытание еси код

2) test.php

<html> 
<head> 

<?php echo "Time 1: ".time(); ?> 

<br /> 

The time 2 is: <esi:include src="/varnish-tests/esi_1.php"/> at this very moment. 

</body> 
</html> 

РНР для ЭСИ включают

3) esi_1.php

<?php 
echo "Time 2: ".time(); 
?> 

Я пробовал много вариантов выше vcl.
Все не работают. Просто не вижу, где я ошибаюсь?

Любые советы/помощь очень ценятся.

спасибо.

+0

Я использую версию лакокрасочные 2.1.5 – Jacob

+0

Что вы имеете в виду под «не работает.» Что происходит? Не включается ли включение? Является ли тег отображаемым в HTML, который вы получаете в своем браузере? Его заменяют ничем? Есть ли журнал ошибок для проверки? Поддерживает ли сервер backend, выполняющий PHP, правильные записи в журнале доступа? – Charles

+0

Привет, Да, тег появляется в HTML-браузере. Он вообще не заменен. В PHP нет ошибок. Журнал доступа PHP получает только хит для test.php и ничего для esi_1.php. – Jacob

ответ

0

С учетом новейшей ошибки, this blog post may be relevant.

Похоже, что некоторые версии Varnish не обрабатывают содержимое gzip. У вас установлен PHP для выполнения сжатия gzip? У вас есть хостинг PHP-сервера для выполнения сжатия gzip?

Лак также может задохнуться через плохо сформированное содержание, хотя это не похоже, скорее всего, здесь ...

К сожалению, сейчас я из идей.

5

Проблема заключается в том, что лак и mod_deflate не работают хорошо в это время.

Снятие deflate.conf и deflate.load устраняет проблему.

Cheers.

+0

Удалены с веб-сервера Apache, а не PHP. – Jacob

+0

'a2dismod deflate' работал для меня – Matt

1

Попробуйте протестировать с помощью лака 3.0 beta1. Одной из основных новых функций является полная поддержка сжатия (что означает, что он теперь работает также с ESI):

https://www.varnish-software.com/blog/varnish-cache-30-beta-1-out

С, что вы, вероятно, избежать каких-либо изменений в настройках обработки сжатия Apache/PHP.

0

Для лака 3.х

в vcl_fetch, я должен был добавить:

set beresp.do_esi = true;