Мне пришлось настроитьмод-аутентификация-токенв Apache установить на Linux сервере.
Я настроил его, чтобы включить безопасность в файле доступа во время загрузки с сервера. (Как указано на егосайт здесь).
Конфигурация Apache:
ScriptAlias /downloads/ /usr/local/download/
<Location /downloads/>
AuthTokenSecret "SECURESTR"
AuthTokenPrefix /downloads/
AuthTokenTimeout 86400
</Location>
Я сгенерировал URL для загрузки файла с сервера с помощью простой программы Java (которая такая же, как в приведенном примере)здесь).
У меня есть ниже 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.
Решение — заменить ScriptAlias
на Alias
.