nginx+ssi+redis lua странное поведение

InventOR nginx-forum at nginx.us
Thu Jan 31 10:08:10 UTC 2013


в конфиге хоста стоит:
ssi on;

сделан локейшн:
[code]            location / {
                index index.php;
                try_files $uri $uri/ /index.php?$args;
            }

            location ~ ^/system/templates/(?<template>.*)$ {
#               internal;
#                add_header Content-Type text/html;

                content_by_lua '
                    local redis = require "resty.redis"
                    local red = redis:new()
                    red:set_timeout(1000) -- 1 sec
                    -- or connect to a unix domain socket file listened
                    -- by a redis server:
                    --     local ok, err =
red:connect("unix:/path/to/redis.sock")
                    local ok, err = red:connect("127.0.0.1", 6379)
                    if not ok then
                        ngx.say("failed to connect: ", err);
                        return;
                    end

                    local res, err = red:get("system:templates:" ..
ngx.var.template);
                    if not res then
                        ngx.say("failed to get template: " ..
ngx.var.template)
                        return
                    end
                    if res == ngx.null then
                        ngx.say("template not found." .. ngx.var.template)
                        return
                    end
                    ngx.say(res);
                ';
            }
[/code]

кладем файл redis-test.html в корень сайта
[code]<!--# include virtual="/system/templates/header.tpl" -->
<h1>Тестируем nginx + redis + ssi</h1>

<div>
<!--# include virtual="/system/templates/news.tpl" -->
</div>

<!--# include virtual="/system/templates/footer.tpl" -->
[/code]

в redis в ключах system:templates:header.tpl , news.tpl. footer.tpl  -
прописан текст.

если вручную идти в локейшны /system/... - выводится нужный текст. через ssi
- всё гораздо интересней. вставляется случайный кусок 3 раза. обычно это
бывает footer.tpl.

может я что-то не так делаю? подскажите гуру.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,235767,235767#msg-235767



Подробная информация о списке рассылки nginx-ru