nginx $fastcgi_file_name 未设置?

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;
}

我不完全理解为什么它以这种方式工作或这样做的含义,有什么想法吗?

相关内容