Perl nginx REST CGI::应用程序

Perl nginx REST CGI::应用程序,perl,rest,cgi-application,Perl,Rest,Cgi Application,我正在尝试将一个简单的基于CGI::Application::Dispatch的REST应用程序从Apache服务器转换为Nginx。应用程序在Apache下运行良好,但在Nginx下运行时,只有Dispatch请求的根层可以工作,即/app。路径的任何附加部分,例如/app/doit,都会导致调用失败,并出现一个禁止的错误 我怀疑我需要改变如何将URL传递给fastcgi,但我不清楚如何拆分它。我能找到的大多数示例都是在存在dispatcher.cgi类型的脚本时进行拆分的,但是由于C:a:D

我正在尝试将一个简单的基于CGI::Application::Dispatch的REST应用程序从Apache服务器转换为Nginx。应用程序在Apache下运行良好,但在Nginx下运行时,只有Dispatch请求的根层可以工作,即/app。路径的任何附加部分,例如/app/doit,都会导致调用失败,并出现一个禁止的错误

我怀疑我需要改变如何将URL传递给fastcgi,但我不清楚如何拆分它。我能找到的大多数示例都是在存在dispatcher.cgi类型的脚本时进行拆分的,但是由于C:a:D希望被称为/app,并且希望看到URL的/doit部分,我不确定如何实现它

我的当前位置块是:

    location /app {
    root /var/www;
    gzip off;
    include /etc/nginx/fastcgi_params;
    fastcgi_pass unix:/var/run/fcgiwrap.socket;
    fastcgi_index index.pl;
    fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
    }
Apache中的设置非常简单:

ScriptAlias /app/ /var/www/app/
    <Directory "/var/www/app">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>
ScriptAlias/app//var/www/app/
不允许超限
选项+执行CGI-多视图+符号链接所有者匹配
命令允许,拒绝
通融

可能会调整您的位置,例如
位置~^/app/*.pl$