Perl nginx REST CGI ::应用程序

时间:2012-12-10 10:16:39

标签: perl rest cgi-application

我正在尝试将一个简单的基于CGI :: Application :: Dispatch的REST应用程序从Apache服务器转换为Nginx。该应用程序在Apache下运行正常,但在Nginx下运行时,只有Dispatch请求的根层工作 - 即/ app。路径的任何其他部分(例如/ app / doit)都会导致调用因Forbidden而失败。

我怀疑我需要改变我将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>

1 个答案:

答案 0 :(得分:0)

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