我已經配置了mod-auth-token在 Linux 伺服器上安裝 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
.