【问题标题】:perl script not executed in one three virtual hosts configured the sameperl 脚本未在配置相同的三个虚拟主机中执行
【发布时间】:2019-08-24 03:34:51
【问题描述】:

我在 apache2 网络服务器上有三个虚拟主机。 其中两个使用完美运行的 perl 脚本。 第三个我刚刚创建的关于 ScriptAlias 指令的配置完全相同

第一:工作

ScriptAlias /cgi-bin/ "/www/old/uep/cgi-bin/"

第二个:工作

ScriptAlias /cgi-bin/ "/www/cssm/formulaire/cgi-bin/"

第三个:不工作

(perl 脚本即将被下载,而不是像另外两个一样被执行)

ScriptAlias /cgi-bin/ "/www/cssm/juin2019/cgi-bin/"

所有主机配置相同,所有脚本都有足够的权限执行,但只有最后一个不能执行。

已检查日志:没有错误,访问日志文件显示 GET 涉及扩展名为 .pl 且具有执行权限的脚本。

清空浏览器缓存(所有内容)。

比较 /etc/apache2/vhosts.d 中涉及的三个 .conf 文件

三个 .conf 文件都是一样的,除了路径和错误/访问日志名称没有区别。

我在与主目录有关的三个.conf文件中使用以下设置

选项索引 FollowSymLinks IndexOptions +Charset=UTF-8 NameWidth=*

我不在路径中使用符号链接。 在 HTML 文件中,我对正在运行的两个站点之一使用 FORM,并为另一个工作站点使用直接链接 /cgi-bin/forum.pl。

不工作:

192.168.0.4 - - [02/Apr/2019:19:32:54 +0200] "GET /cgi-bin/examenjuin.pl HTTP/1.1" 304 - "http://www.examenjuin2019.cssm/" "Mozilla/5.0 (X11 ; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

工作:

192.168.0.4 - - [02/Apr/2019:19:51:38 +0200] "GET /cgi-bin/forum.pl HTTP/1.1" 200 2209 "http://www.uepsoundsystem.dezordi.world/" "Mozilla/5.0 (X11 ; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

无法理解为什么不同文件夹中具有完全相同权限的两个 perl 脚本可以工作,而这个却不能...

【问题讨论】:

    标签: linux perl apache2 cgi


    【解决方案1】:

    如果生成304 状态代码的不是您的脚本,那是您的服务器配置。 在 Apache 上,play around with mod_cache settings 以防止您的服务器发送它们。

    【讨论】:

    • 我不使用 mod_cache 模块 AFAIK
    猜你喜欢
    • 2020-12-08
    • 2015-01-12
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 2011-05-04
    • 2014-09-01
    相关资源
    最近更新 更多