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
何が問題なのかわかりません。誰かがこの問題を解決する方法を知っていますか?
あなたが持っている ScriptAlias /downloads/ /usr/local/download/
。これは、Apacheに、/ usr/local/download内のすべてのファイルを単に提供するのではなく、CGIスクリプトとして実行するように指示します。だからexec of '/usr/local/download/abc.Zip' failed
。 ScriptAlias を参照してください。
解決策は、ScriptAlias
をAlias
に置き換えることです。