![(8)Exec 형식 오류: Apache를 통해 파일에 액세스할 때 ' /usr/local/download/abc.zip' 실행](https://rvso.com/image/632762/(8)Exec%20%ED%98%95%EC%8B%9D%20%EC%98%A4%EB%A5%98%3A%20Apache%EB%A5%BC%20%ED%86%B5%ED%95%B4%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%A0%20%EB%95%8C%20'%20%2Fusr%2Flocal%2Fdownload%2Fabc.zip'%20%EC%8B%A4%ED%96%89.png)
나는 구성했다모드 인증 토큰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
.