Подготовлен новый выпуск модуля ngx_php с реализацией встраиваемого в nginx интерпретатора языка программирования PHP. Модуль позволяет создавать обработчики запросов на PHP, модифицировать запрос/ответ, фильтровать тело ответа и заголовки, создавать заглушки для блокирования уязвимостей в web-приложениях, организовывать проверку доступа. По сравнению с запуском PHP при помощи fpm модуль ngx_php обеспечивает доступ к внутренним API nginx и демонстрирует существенный прирост производительности (от 2 до 10 раз).
location = /nginx_request {
set $a 123;
content_by_php '
echo ngx_request::document_uri();
echo "ngx::query_args()n";
var_dump(ngx::query_args());
$a = ngx_var::get("a");
var_dump($a);
';
}
Дополнительно можно отметить вышедшую на днях статью о применении модуля njs (NGINX JavaScript module) для создания виртуальных патчей для блокирования уязвимостей и проблем в web-приложениях (использование как своеобразного аналога ModSecurity).
