我已经配置mod-auth-token在 Linux 服务器上安装 Apache。
我已将其配置为在从服务器下载时启用访问文件的安全功能。(根据其网站在这里)。
Apache 配置:
ScriptAlias /downloads/ /usr/local/download/
<Location /downloads/>
AuthTokenSecret "SECURESTR"
AuthTokenPrefix /downloads/
AuthTokenTimeout 86400
</Location>
我已经通过简单的 Java 程序生成了从服务器下载文件的 URL(与给出的示例相同这里我有
以下 URL 来访问文件
http://download.mysite.com/downloads/9fa653c32af806ba6f43d1a1fb73bfd0/5370c3b3/abc.zip
文件abc.zip
位于/usr/local/download/
文件夹中。
当我尝试访问/下载此文件时,出现以下异常
[Tue May 13 02:07:28 2014] [error] (8)Exec format error: exec of '/usr/local/download/abc.zip' failed
[Tue May 13 02:07:28 2014] [error] Premature end of script headers: abc.zip
我不知道问题是什么。有人知道如何解决这个问题吗?
答案1
您有ScriptAlias /downloads/ /usr/local/download/
,它告诉 Apache 将 /usr/local/download 中的所有文件作为 CGI 脚本运行,而不是直接提供它们。这就是它说 的原因exec of '/usr/local/download/abc.zip' failed
。请参阅脚本别名。
解决方法是用ScriptAlias
替换Alias
。