2
我使用django-compressor和django-storage爲S3上的壓縮文件提供服務(使用這些指令:http://django_compressor.readthedocs.org/en/latest/remote-storages/#using-staticfiles)。它在運行「compress」管理命令後最初工作良好,但在大約一個小時後,即使我沒有對文件進行任何更改,壓縮後的css和js文件也會返回403 Forbidden錯誤。我似乎無法孤立的問題,所以任何幫助,將不勝感激。爲什麼我S3上的壓縮文件返回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)
}
UPDATE:這只是似乎是一個問題,當COMPRESS_OFFLINE爲True。我將它設置爲False,並且在初始請求期間創建的壓縮文件正常工作,並且已經過了一個多小時。但是,我寧願使用管理命令預壓縮這些文件。