2011-01-03 4 views
1

서명 된 URL을 사용하여 일부 대용량 파일 (여기에서는 많은 GB를 말합니다)에 대한 액세스를 제어하려고합니다. 이 파일은 현재 LDAP 기본 인증 (mod_auth_ldap)에 의해 제한되지만 서명을 확인하기 위해이를 변경해야합니다 (URL에서 쿼리 매개 변수로 전달됨).Apache에서 대용량 파일에 대한 액세스 제어

기본적으로 서명을 확인하기 위해 스크립트를 실행하고 인증이 성공한 것처럼 요청을 진행하면됩니다. 필자의 초기 생각은 단순한 CGI 스크립트를 사용하는 것이었지만 파일이 너무 커서 성능에 대해 염려합니다. 그래서, 정말로이 질문은 (아마) "CGI 스크립트에서 대용량 파일을 아파치를 통해 스트리밍하는 것과 관련된 성능상의 영향이 있습니까?"그렇다면, "이 작업을 수행하는 더 좋은 방법이 있습니다. 인증 모듈)? "

이것이 의미가있는 경우 도움을 많이 주시면 감사하겠습니다. :)

P. 나는 이것을 위해 무엇을 검색해야하는지 정확히 알지 못했다. (인터넷 검색의 10 분은 효과가 없었다.) 그래서 다른 사람의 게시물을 복제 할 수 있을지 모른다.

답변

0

언급 한대로 CGI 스크립트를 사용하여이 문제를 해결했습니다 ... 쿠키를 사용하지 않는 클라이언트 (apt)를 지원할 수 있어야하므로 쿠키를 사용할 수 없습니다.

0

아파치의 암호 쿠키/세션을 살펴보십시오. 한 가지 방법은 해당 디렉토리에 반드시 있어야하는 세션 제한을 두는 것입니다. 유효하지 않은 사람이 있으면 cgi 스크립트에 전달하십시오 ; 거기서 인증을하고 실제 다운로드로 다시 전달합니다.

그런 식으로 아파치는 일반적인 sendfile() 및 기타 최적화를 사용할 수 있습니다.

그러나 단순한 'execvp', 'exec cat'또는 그와 비슷한 것으로 끝나는 쉘 스크립트 또는 perl 스크립트는 그리 비싸지 않다는 것을 명심하십시오.

대체 방법은 uRL을 기반으로합니다 (예 : http://authmemcookie.sourceforge.net/).

ww.