2013-12-13 120 views
0

我有一個django後端,它是來自亞馬遜s3存儲桶的靜態文件。 一切工作正常,所有的靜態文件正在服務。 但現在,我嘗試添加https://github.com/ouhouhsami/django-progressbarupload,它無法獲取顯示它所需的靜態文件,即使我使用了收集靜態並且它在服務器上。Django - 來自s3的靜態文件請求不起作用

的錯誤是: 無法加載資源:服務器與403(禁止)

狀態作出迴應,要求是: http://boxitwebservicebucket.s3.amazonaws.com/js/progress_bar.js

我完全理解爲什麼我得到它,因爲ID不添加正確的AWS密鑰並通過。我只是不明白爲什麼它對所有其他靜態文件,但不是這個?

編輯:出於某種原因,現在我可以去文件,也許我改變了桶安全的東西,但酒吧仍然不會出現。我可以發佈什麼樣的信息來幫助我診斷問題?我已經看了幾個小時的演示應用程序現在,我無法找到我做錯了什麼

+0

你能不能給一個工作的靜態文件的例子嗎?你不需要CORS頭文件嗎? –

+0

「https://boxitwebservicebucket.s3.amazonaws.com/suit/bootstrap/js/bootstrap.min.js?Signature=i4A%2FcvSvVOL7Me2YBTZZkD2pApc%3D &過期= 1386929727 & AWSAccessKeyId = AKIAI5PVD6A4S2TIZACA」 –

+0

你確定URL是正確的?存儲桶和資源上有什麼權限? –

回答

0

你會注意到在網址上有一些參數。其中之一是Expires=[TIMESTAMP]

之後,時間戳已經通過了url不再有效。如果你刪除參數,並再次嘗試它工作正常。

通過查詢參數:link

如果沒有查詢參數:link

以下內容添加到您的設置文件:

AWS_QUERYSTRING_AUTH = False 

這將停止生成的查詢參數。


AWS S3 Url changing dynamically with django statics