ПРОЕКТЫ 


  АРХИВ 


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]

Не работают Memcached вместе с SSI


  • To: nginx-ru@xxxxxxxxx
  • Subject: Не работают Memcached вместе с SSI
  • From: Anton <anton200@xxxxxxxxx>
  • Date: Sat, 20 Oct 2007 12:46:03 +0600
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=FmzeEo+MHM01pJutem+oSMLF/YSdD8sURoCeXOApyEU=; b=nwYlyZQjhvkQ35gDAFb8nnartsf1XKy24h+9oONk6KQTr4+R1aXPRDz3OmqWjX+067tyCusIPoqrYo9gHn28/OEUqhdParA2SP8RvAXLBjlAELCA3z1qxaiVapRo5m0uc87DnBGEGSNsQUnVBN7JFTQvf9c2lL4ILxZDyGivNjk=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=m2H9MTP9RbAQifyL788760dt1qZwbP6nylO65FheRhC4h9AT6/BpFsx1FjbyTfPUsTmVyUyQEHaj3bhKVf0dnnIKwi6aNC+Tk49ZyYAIjThHKXvgDy53lhc8ut+Ke2EYXKOATjsdSgbWydUClzh4qo5INbvKEqIUK3ra8RQPcHc=

Hi

Скрипт x.php, вывод которого содержит SSI-вставку <!--# include
virtual="/y.php" -->.
Оба скрипта кладут себя в Memcached.

При заходе на x.php ответ ищется в кэше, ессно не находится, идет
запрос на бакэнд
"GET /x.php HTTP/1.0" (правильно срабатывает /fallback), скрипт выдаёт
содержимое, попутно сохраняя себя в Memcached:
<5 new client connection
<5 get /x.php?
>5 END
<5 connection closed.
<5 new client connection
<5 version
>5 VERSION 1.1.12
<5 set /x.php? 0 9000 40
>5 STORED
<5 connection closed.

В содержимом присутствует SSI, и nginx опять ищет его в Memcached
<5 new client connection
<5 get /y.php
>5 END
<5 connection closed.
не находит и... спрашивает "GET /fallback HTTP/1.0" у бакэнда.
Хотя должен был по идее спросить "GET /y.php HTTP/1.0"

Лог nginx:
X.X.X.X - [20/Oct/2007:12:28:56 +0600] GET /x.php HTTP/1.1 "200" 195

Лог бакэнда:
127.0.0.1 - - [20/Oct/2007:12:28:56 +0600] "GET /x.php HTTP/1.0" 200 40
127.0.0.1 - - [20/Oct/2007:12:28:56 +0600] "GET /fallback HTTP/1.0" 302 193

В конфиге nginx присутствует такое:

location / {
    proxy_redirect          http://backend.ru:8080/ /;
    if ($request_method = POST) {
        proxy_pass              http://localhost:8080;
        break;
    }
    set $memcached_key "$uri";
    memcached_pass  127.0.0.1:11211;
    error_page      404 = /fallback;
    default_type    text/html;
    ssi on;
}
location = /fallback {
    proxy_pass              http://localhost:8080;
    proxy_redirect          http://backend.ru:8080/ /;
    ssi on;
}

-- 
engineer


 




Copyright © Lexa Software, 1996-2009.