1
我想將一個簡單的CGI :: Application :: Dispatch的REST應用程序從Apache服務器轉換爲Nginx。該應用程序在Apache下運行良好,但在Nginx下運行時,只有Dispatch請求的根層可以工作 - 即/ app。路徑的任何其他部分(例如/ app/doit)都會導致調用失敗,並顯示Forbidden。Perl nginx REST CGI ::應用
我懷疑我需要改變我如何將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>