2012-10-31 8 views
6

Amazon S3에서 파일을 호스팅하고 있으며, 응용 프로그램에서 치료 한 후에 파일을 다운로드하고 싶습니다. 이 앱보기에는 HTTP Authorization 헤더가 있어야합니다. 응용 프로그램 액세스가 부여되면 필요한 Authorization 요청 헤더 HTTP 리디렉션에서 헤더를 전파하지 마십시오.

    1. 쿼리보기 /file/xxx, 어떤 치료
    2. 서명 S3 URL을 생성하고,
    로 리디렉션 않습니다 다음은 과정이다

    사실 요청 헤더가 리디렉션에 전파되어 Amazon S3 서명과 충돌하기 때문에 다음과 같은 오류 메시지가 표시됩니다.

    서명 쿼리 문자열 매개 변수 또는 인증 헤더 중 하나는 둘

    그래서, S3에 Authorization 헤더를 전파되지 수있는 방법이 지정되어야 하는가?

    나는 모든 3xx HTTP 코드를 테스트했습니다. 미리 감사드립니다.

  • +0

    해결 방법을 찾으셨습니까? – gorus

    +0

    헤더의 전파 여부를 결정하는 것은 클라이언트의 책임이며 변수로 보입니다 ... 메모리에서 GET 매개 변수를 통해 내 권한 토큰을 전달하는 충돌을 건너 뜁니다. –

    +0

    내 경우에, 악마는 세부 사항에, 불행히도 있습니다 : http://stackoverflow.com/questions/33714122 – gorus

    답변

    0

    S3 파일 경로가 /file/xxx과 동일한 도메인에 있습니까? 아마도 Authorization 헤더가 전송되는 이유를 설명 할 수 있습니다. 앱보기와 다른 도메인에서 S3를 호스팅하는 경우 S3 헤더에 인증 헤더가 전송되지 않는다고 가정합니다 (HTTP 인증은 도메인 당).

    +0

    답장을 보내 주셔서 감사합니다 매튜,하지만 이것은 정확히 같은 도메인에 없습니다. '/ file/xxx'는 개발 컴퓨터의 Django가 지원하는 로컬입니다. –

    2

    그것은 예를 들어보고, 클라이언트에 따라 달라질 수 있습니다 : https://code.google.com/p/go/issues/detail?id=4800

    기본적으로 인증 헤더를 통해 수행되지 않습니다 컬 나타납니다. 하지만 비슷한 문제를 다루고 있으며, 기본적으로 http 구성 요소가이를 수행하는 것으로 보입니다.

    관련 문제