在mac os x中的apache中使用CGI时禁止403

时间:2017-10-27 21:22:32

标签: macos apache cgi

mac 10.12.6

apache的配置

LoadModule cgi_module libexec/apache2/mod_cgi.so

ScriptAliasMatch ^/cgi-bin/((?!(?i:webobjects)).*$) "/Library/WebServer/cgi-bin/$1"

<Directory "/Library/WebServer/cgi-bin/">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
AddHandler cgi-script .cgi
</Directory>

AddHandler cgi-script .cgi

和文件ls -l <​​/ p>

user:cgi-bin root# ls -l
total 8
-rwxr-xr-x@ 1 user  wheel  60 Oct 27 21:57 server.cgi

这是命令行中的测试

root# /library/webserver/cgi-bin/server.cgi
Content-type:text/plain
hello world

如果我去

http://localhost/cgi-bin/server.cgi

它的回应:

Forbidden

You don't have permission to access /cgi-bin/server.cgi on this server.

我尝试过任何可以做的事情。

1 个答案:

答案 0 :(得分:0)

Yaha我发现了问题

这是Apache 2.4的问题

您必须检查允许和拒绝规则

查看http://httpd.apache.org/docs/2.4/upgrading.html#access

在2.2中,使用指令Order,Allow,Deny和Satisfy完成了基于客户端主机名,IP地址和客户端请求的其他特征的访问控制。

在2.4中,使用新模块mod_authz_host以与其他授权检查相同的方式完成此类访问控制。 新指令是要求:

2.2配置:

Order allow,deny
Allow from all

2.4配置:

Require all granted