web-dev-qa-db-ja.com

(8)Exec形式エラー:apacheを介してファイルにアクセスするときの「/usr/local/download/abc.Zip」の実行

LinuxサーバーのApacheインストールで mod-auth-token を構成しました。
サーバーからのダウンロード中にアクセスファイルのセキュリティを有効にするように構成しました( ここのWebサイト に記載されているとおり)。

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  

何が問題なのかわかりません。誰かがこの問題を解決する方法を知っていますか?

2
Yagnesh Agola

あなたが持っている ScriptAlias /downloads/ /usr/local/download/。これは、Apacheに、/ usr/local/download内のすべてのファイルを単に提供するのではなく、CGIスクリプトとして実行するように指示します。だからexec of '/usr/local/download/abc.Zip' failedScriptAlias を参照してください。

解決策は、ScriptAliasAliasに置き換えることです。

5
Andrew Schulman