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