我有以下 Apache 配置:
DocumentRoot "/var/www/html"
ScriptAlias /cgi-bin/ /var/www/cgi-bin
<Directory "/var/www/cgi-bin">
AllowOverride None
AddHandler cgi-script .cgi .pl
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
Require all granted
</Directory>
里面/var/www/cgi-bin
有这个文件:
-rwxr-xr-x 1 root root 288 Jan 23 14:29 test.pl*
该文件具有有效的 perl 脚本,当我直接执行它时,该脚本将被启动。但是当我尝试将其作为 cgi 运行时:
$wget http://localhost:8080/cgi-bin/test.pl
我得到了ERROR 403: Forbidden
。错误日志中添加了以下行:
[Sat Jan 23 15:42:44.655000 2016] [authz_core:error]
[pid 1751:tid 140567392528128] [client 127.0.0.1:34927]
AH01630: client denied by server configuration: /var/www/cgi-bintest.pl
由于某种原因,没有斜线cgi-bintest.pl
。可能是什么问题?
答案1
原因是末尾缺少一个斜线:
ScriptAlias /cgi-bin/ /var/www/cgi-bin/