Linux

(8)Exec format error: exec of ‘/usr/local/download/abc.zip’ when access file through apache

  • September 2, 2019

我在 Linux 伺服器上的 Apache 安裝中配置了mod-auth-token

我已將其配置為在從伺服器下載時啟用訪問文件的安全性。(根據其網站上給出的here)。

阿帕奇配置:

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  

我不知道有什麼問題。有人知道如何解決這個問題嗎?

你有ScriptAlias /downloads/ /usr/local/download/,它告訴 Apache 將 /usr/local/download 中的所有文件作為 CGI 腳本執行,而不是僅僅提供它們。這就是為什麼它說exec of '/usr/local/download/abc.zip' failed。請參閱ScriptAlias

解決方案是替換ScriptAliasAlias.

引用自:https://serverfault.com/questions/594542