Apache 配置错误 - 配置适用于 Apache 2.2,但不适用于 2.4

Apache 配置错误 - 配置适用于 Apache 2.2,但不适用于 2.4

我有一组 cgi 脚本,可以在 RHEL 6.x(带有 Apache 2.2)框上正常运行。

有一个包含脚本的 cgi-bin 目录,还有一个作为脚本前端的 index.html(纯 html),允许我单击按钮来调用我想要的任何脚本。

在装有 Apache 2.4 的 RHEL 7.x 系统上部署同一组脚本时,此配置不再起作用。

我发现必须在 2.2 和 2.4 之间更改“要求全部授予”指令,但我认为肯定还有其他原因。

尝试加载 index.html 时收到的错误消息如下:

AH01215:(13)权限被拒绝:执行“/path/to/index.html”失败,标题之前的脚本输出结束:index.html

我的 cgi-bin 目录有一个 ScriptAlias 指令。

我从这一切中得出的结论是,apache 假设此目录中的所有内容都是脚本,并且它正尝试通过 CGI 执行 index.html。

我认为这是公平的,但这种配置在 2.2 中有效,所以我想知道是否有某种方法可以对 .html 文件进行豁免,或者我必须重新调整我的目录结构?

编辑:

SELinux 已被禁用。

脚本通过 rpm 文件提供,其中还包括 /etc/httpd/conf.d/ 的 .conf 文件

/etc/httpd/conf/httpd.conf 目前保留为 RHEL 7.x 默认设置

rpm 提供的 .conf 文件如下:

ScriptAlias /turnover-client/ /opt/tools/turnover-client/cgi-bin/
Alias       /turnover-client  /opt/tools/turnover-client/cgi-bin/index.html

<Location /turnover-client>
    Order Allow,Deny
    Allow from all
</Location>

目前我已将其改为:

ScriptAlias /turnover-client/ /opt/tools/turnover-client/cgi-bin/
Alias       /turnover-client  /opt/tools/turnover-client/cgi-bin/index.html

<Location /turnover-client>
    Require all granted
    Options +ExecCGI
</Location>

相关内容