2013-12-13 122 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