Назад | Перейти на главную страницу

nginx $ fastcgi_file_name не установлен?

После поиска в Google информации о fastcgiwrap я пришел к выводу, что следующая конфигурация должна работать:

location ~ /sec-bin/.+\.pl$ {
    gzip off;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /usr/lib/site/cgi-bin/$fastcgi_script_name;
    fastcgi_pass  unix:/var/run/fcgiwrap.socket;
}

Однако это не так, я получаю сообщение об ошибке «403 не удается получить имя сценария». Если я изменю этот блок на

location ~ /sec-bin/(.+\.pl)$ {
    gzip off;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /usr/lib/site/cgi-bin/$1;
    fastcgi_pass  unix:/var/run/fcgiwrap.socket;
}

Я не совсем понимаю, почему это работает так или какие последствия это делает, какие-либо идеи?