gpt4 book ai didi

django - 为什么我在 S3 上的压缩文件返回 403 Forbidden 错误?

转载 作者:行者123 更新时间:2023-12-02 07:07:22 24 4
gpt4 key购买 nike

我正在使用 django-compressor 和 django-storages 在 S3 上提供我的压缩文件(使用这些说明:http://django_compressor.readthedocs.org/en/latest/remote-storages/#using-staticfiles)。在运行“compress”管理命令后,它最初运行良好,但大约一小时后,压缩的 css 和 js 文件返回 403 Forbidden 错误,即使我没有对文件进行任何更改。我似乎无法隔离问题,因此我们将不胜感激。

这是我正在使用的设置:

COMPRESS_ENABLED = True  
COMPRESS_URL = "http://mybucket.s3.amazonaws.com/"
COMPRESS_STORAGE = 'sm.storage.CachedS3BotoStorage'
COMPRESS_YUI_BINARY = os.path.join(PROJECT_ROOT, 'jars/yuicompressor-2.4.7.jar')
COMPRESS_CSS_FILTERS = ['compressor.filters.yui.YUICSSFilter',
'compressor.filters.css_default.CssAbsoluteFilter']
COMPRESS_JS_FILTERS = ['compressor.filters.yui.YUIJSFilter',]
COMPRESS_OFFLINE = True

STATICFILES_STORAGE = COMPRESS_STORAGE
STATIC_URL = COMPRESS_URL
STATIC_ROOT = '/path/to/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static'),
)

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage' # I'm using this for uploaded media
AWS_ACCESS_KEY_ID = 'myaccesskey'
AWS_SECRET_ACCESS_KEY = 'mysecretkey'
AWS_STORAGE_BUCKET_NAME = 'mybucket'
AWS_S3_FILE_OVERWRITE = True

AWS_HEADERS = {
'Cache-Control': 'public, max-age=31536000', #(1 year)
}

更新:这似乎只有在 COMPRESS_OFFLINE 为 True 时才会出现问题。我将其设置为 False,并且在初始请求期间创建的压缩文件正常工作并且已经超过一个小时。但是,我更愿意使用管理命令预压缩这些文件。

最佳答案

我能够通过将此行添加到我的设置文件来解决此问题:

AWS_QUERYSTRING_AUTH = False

归功于 blackrobot on github .

关于django - 为什么我在 S3 上的压缩文件返回 403 Forbidden 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9651052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com