Nginx eval module (v 1.0.1) |
rus eng |
Модуль для веб-сервера nginx, преобразующий ответ от проксированного веб-сервера или memcached в значения переменных.
Модуль выполняет блок конфигурации заданный директивой eval и преобразует ответ от этого блока в значения переменных. Блок конфигурации обязан содержать директивы memcached_pass или proxy_pass.
Задает имена переменных, в значения которых будет преобразован ответ, и блок конфигурации, описывающий как получить ответ. Блок конфигурации обязан содержать директивы memcached_pass или proxy_pass. Максимальное число переменных равно 8. Блок eval выполняется перед модулем rewrite, таким образом вся конфигурация модуля rewrite, которую необходимо выполнить до блока eval, необходимо указывать внутри блока eval. Пример:
location / {
set $foo bar;
eval $var {
# $foo пуст
proxy_pass http://backend/$foo;
}
}
location / {
eval $var {
set $foo bar;
# $foo равен 'bar'
proxy_pass http://backend/$foo;
}
}
По той же причине блок eval неэффективен внутри блоков if и limit_except, однако блоки if и limit_except эффективны внутри блока eval.
Преобразование ответа в значения переменных управляется типом содержимого ответа (значением заголовка Content-Type). Модуль распознает следующие mime-типы:
Чтобы переопределить тип содержимого, возвращаемого проксированным веб-сервером или memcached, необходимо использовать директиву eval_override_content_type.
Разрешает эскалацию ошибок в блоке eval на более высокий уровень конфигурации. Например, конфигурация:
location / {
eval_escalate off;
eval $var {
set $foo bar;
return 403;
}
return 405;
}
возвращает ошибку HTTP 405, в то же время, конфигурация:
location / {
eval_escalate on;
eval $var {
set $foo bar;
return 403;
}
return 405;
}
возвращает ошибку HTTP 403.
Указвает тип содержимого, который будет использован вместо типа содержимого, предоставленного memcached или проксированным сервером.
eval $var {
set $memcached_key $1;
memcached_pass 192.168.2.1;
}
Последняя версия 1.0.1:
| Файл | MD5 | SHA1 |
| nginx_eval_module-1.0.1.tar.gz | 570b6f7e40e489c5846ffca725226edb | fa1ceef301a83f038ed0fa1ea5634be3c600002d |
| nginx_eval_module-1.0.1.zip | cfda9250f5b596714312a78e314fc94e | 450e7194c4b226be7a1fdd2285e302d14729bb6f |
http://github.com/vkholodkov/nginx-eval-module/tree/master
Скачать исходники по одной из ссылок выше. Распаковать архив:
tar xvzf nginx_eval_module-1.0.1.tar.gz
Сконфигурировать nginx с дополнительным модулем:
cd <путь к исходникам nginx> ./configure --add-module=<путь к исходникам модуля> make make install
Описанный модуль является дополнением к веб-серверу nginx. nginx -- это веб-сервер разработанный Игорем Сысоевым.
Лицензия описанного модуля BSD Вы должны были получить копию лицензии вместе с исходными кодами модуля. В случае, если Вы не согласны с условиями лицензии, Вы обязаны удалить все копии исходных кодов модуля на Ваших компьютерах, а так же двоичные файлы скомпилированные из этих исходных кодов.
Valery Kholodkov valery+nginx@grid.net.ru
Пожалуйста, используйте расширение адреса при составлении письма мне.
Copyright (C) 2009 Valery Kholodkov