Баг или фича? (ssi + memcached + wait="yes")

Vlad S. Maximov vladsm at mail.ru
Fri Mar 23 21:12:15 MSK 2007


nginx 0.5.14

	Имеем конфиг:

...
        upstream   backend {
            server   localhost:80;
        }
...
        location /memcached/ {
            internal;
            ssi on;
            set     $memuri $uri;
            set     $memcached_key   "$memuri";
            memcached_pass  localhost:10000;
            error_page 404 =200 /memcached-miss$memuri;
        }
...
        location /memcached-miss/ {
            internal;
            ssi on;
            rewrite   ^/memcached-miss/(.*)$  /$1 break;
            proxy_set_header    Host             $host;
            proxy_set_header    X-Real-IP        $remote_addr;
            proxy_pass          http://backend;
            proxy_redirect      off;
        }
...

	Имеем примерно следующий index.shtml:
...
<!--# include virtual="/memcached/frontpage/part1/" -->
<!--# include virtual="/memcached/frontpage/part2/" -->
<!--# include virtual="/memcached/frontpage/part3/" -->
...

	В итоге при обращении к странице в логах бэкенда имеем:	
...
GET /memcached/frontpage/part3/
GET /memcached/frontpage/part3/
GET /memcached/frontpage/part3/
...
	но если поставить в каждом из инклюдов wait="yes", то получаем желаемое 
...
GET /memcached/frontpage/part1/
GET /memcached/frontpage/part2/
GET /memcached/frontpage/part3/
...

	Почему такое происходит (параллельные запросы идут по последнему uri)?
	Как от этого избавиться?

	Вариант с wait не хотелось бы использовать...
	
-- 
Best regards,
 Vlad                          mailto:vladsm at mail.ru






More information about the nginx-ru mailing list