J'ai configuré mon projet Django, DNS et le seau sur Amazon S3 mais python manage.py collectstatic
et par conséquent aussi les fichiers téléchargés manuellement ne fonctionnera pas.Django ne servira pas les fichiers statiques d'Amazon S3 avec le domaine personnalisé
AWS S3 Réglages:
Nom du godet: files.domain.com
politique Bucket:
{
"Id": "Policy1483363850641",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1483363848944",
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::files.domain.com/*",
"Principal": "*"
}
]
}
Paramètres DNS:
files.domain.com -> CNAME -> fichiers.domaine.com.s3.amazonaws.com
Réglages Django:
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'XXXXXXXXXXXXXXXXXXXX'
AWS_SECRET_ACCESS_KEY = 'XxXxXXxXXXXXxxxXxxXXXxXxxXXXXXXXXxxxXxxx'
AWS_STORAGE_BUCKET_NAME = 'files.domain.com'
AWS_AUTO_CREATE_BUCKET = False
AWS_QUERYSTRING_AUTH = False
AWS_S3_SECURE_URLS = False
AWS_EXPIRY = 60 * 60 * 24 * 7
AWS_HEADERS = {
'Cache-Control': six.b('max-age=%d, s-maxage=%d, must-revalidate' % (
AWS_EXPIRY, AWS_EXPIRY))
}
MEDIA_URL = 'http://%s/' % AWS_STORAGE_BUCKET_NAME
STATICFILES_STORAGE = DEFAULT_FILE_STORAGE
STATIC_URL = MEDIA_URL
Y at-il un message d'erreur? –
Désolé. Oui. ssl.CertificateError: hostname 'files.domain.com.s3.amazonaws.com' ne correspond pas à '* .s3.amazonaws.com', 's3.amazonaws.com' –
Le problème est lié à l'utilisation de points sur le nom du compartiment S3 et BOTO. Il y a une solution mais je n'ai pas mon ordinateur avec moi pour vous donner une réponse mais j'espère que cela vous permettra de chercher la réponse – dkarchmer