Apache不会运行二进制CGI

时间:2019-11-13 23:31:12

标签: apache cgi binaryfiles

我已经成功运行了Hello World perl cgi脚本,但是无法运行二进制文件(从golang编译)。 Apache只是将其作为下载。我搜寻了互联网以寻找答案,尽管其他人似乎也遇到了类似的问题,但解决方案却行不通。我也没有在日志中收到任何错误消息,所以我不知道为什么它不起作用。

我的httpd.conf的相关行:

<IfModule !mpm_prefork_module>
    LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
    LoadModule cgi_module modules/mod_cgi.so
</IfModule>
...
ScriptAlias "/cgi-bin/" "/srv/http/cgi-bin/"
...
<Directory "/srv/http/cgi-bin">
    AllowOverride None
     Options +ExecCGI
    SetHandler cgi-script
    Order allow,deny
    Allow from all
 </Directory>

我在Archlinux上使用Apache 2.4.41。从外壳运行时二进制文件的输出为:

Content-type: text/html

SHELL=/bin/bash
WINDOWID=...

列出所有环境变量。该文件的权限为-rwxr-xr-x,因此无论谁运行它都应可执行。文件扩展名是.cgi,但这根本不相关,因为它在标有ExecCGI的目录中,对吗?

有什么我想念的吗?看来Apache正在对我不知道的文件运行某种过滤器?

0 个答案:

没有答案