【问题标题】:403 Error when running perl script in apache在 apache 中运行 perl 脚本时出现 403 错误
【发布时间】:2015-12-01 16:10:42
【问题描述】:

我正在尝试通过 localhost 测试 perl 脚本。我将 apache 配置为允许从 /usr/lib/cgi-bin 运行 perl 脚本(或者我认为是这样)。每当我访问 localhost/cgi-bin/script.pl 时,我都会收到 403 Forbidden 错误。这是我的 apache conf 文件。

<VirtualHost *:80>

ServerAdmin webmaster@localhost
DocumentRoot /home/cgtopher/public_html/

<Directory /home/cgtopher/public_html/>
Options FollowSymLinks Indexes
AllowOverride None
Order allow,deny
allow from all
</Directory>

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

#cgi-bin

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory "/usr/lib/cgi-bin">

AllowOverride None

Options ExecCGI FollowSymLinks

Order allow,deny

Require all granted

</Directory>

ErrorLog /home/cgtopher/.apache/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

在我的错误日志中,我不断收到以下信息:

[Sat Sep 05 10:30:12.565510 2015] [access_compat:error] [pid 10918] [client 127.0.0.1:60699] AH01797: client denied by server configuration: /usr/lib/cgi-bin/hello.pl

【问题讨论】:

    标签: linux apache perl ubuntu cgi


    【解决方案1】:

    你有Order allow,deny,它将拒绝请求,除非至少一个 Allow 指令通过。

    您没有 Allow 指令(目录 /home/cgtopher/public_html/ 除外,它不涵盖 cgi-bin 目录)。

    (将Allow from all添加到cgi-bin目录?)

    【讨论】:

    • 谢谢!看起来它有效,但有一个警告。我收到提示下载它,而不是运行脚本(只是一个用于测试的 hello world)。所以我们已经成功了一半!
    • 这很奇怪。 ScriptAlias 应该设置处理程序。你确定是被下载的脚本,而不是它的输出?
    猜你喜欢
    • 2015-08-19
    • 1970-01-01
    • 2014-11-30
    • 2011-04-17
    • 2021-03-17
    • 2019-08-23
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多