2012-10-31 11 views
6

Amazon S3'te barındırılan dosyam var ve bunları uygulamanızdaki bir işlemden sonra indirmek istiyorum. Bu uygulama görünümü, devam etmek için HTTP Yetkilendirme başlığını gerektiriyor. Uygulamanın Erişim verilirse gerekli Authorization istek başlığında HTTP yönlendirmelerde başlıkları yaymayın

  • ile

    1. Sorgu görünümü /file/xxx, bazı tedavi
    2. imzalı S3 url oluşturun ve buna
    yönlendiriyor: İşte süreçtir

    Gerçek şu ki, istek üstbilgisi de yönlendirme üzerinde yayılır ve Amazon'un S3 imzası ile çakışıyor, aşağıdaki hata iletisine sahibim:

    İmza sorgu dize parametresi veya Yetkilendirme başlık Ya ikisini

    Yani, S3 Authorization başlığını yaymak değil bir yol yoktur, belirtilmelidir?

    Tüm 3xx HTTP kodlarını test ettiğimi unutmayın. Şimdiden teşekkürler.

  • +0

    Buna bir çözüm buldunuz mu? – gorus

    +0

    İstemcinin üstbilgiyi yayması veya değiştirmesi sorumluluğu müşterinin sorumluluğundadır ... Bellekten, yetkilendirme jetonunu bir GET parametresi üzerinden geçirerek çakışmayı atladım. –

    +0

    Teşekkür ederim, benim durumumda, şeytan ayrıntılarda maalesef: http://stackoverflow.com/questions/33714122 – gorus

    cevap

    0

    S3 dosya yolunuz, /file/xxx ile aynı etki alanında var mı? Bu, yetkilendirme başlığının neden gönderileceğini açıklar. S3'ünüzün uygulama görünümünde farklı bir alanda barındırılıyorsa, Yetkilendirme başlığının S3 alanına gönderilmeyeceğini (HTTP Yetkilendirme alan adı başına) kabul edersiniz.

    +0

    Cevabınız için teşekkürler Matthew, ama bu kesinlikle aynı alanda değil. '/ file/xxx', geliştirme bilgisayarımda Django tarafından desteklenen yereldir. –

    2

    Bu örneğin bkz, müşteriniz bağlı olabilir: https://code.google.com/p/go/issues/detail?id=4800

    varsayılan olarak Yetkilendirme başlığındaki aktarılmaz bukle görünür. Ama benzer bir sorunu ele alıyorum ve varsayılan olarak http bileşenlerinin onu taşıdığı görülüyor.