Skip to content

Commit ac3b125

Browse files
committed
Allow custom domain to be used with public S3 bucket
This allows a S3 bucket to be put behind CloudFront which is considered best practice.
1 parent 64a32da commit ac3b125

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

src/settings/base.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,7 @@ def setup_celery_logging(**kwargs):
386386
"use_ssl": os.environ.get('S3_USE_SIGV4', 'true').lower() == 'true',
387387
"querystring_auth": os.environ.get('AWS_QUERYSTRING_AUTH'),
388388
"default_acl": os.environ.get('AWS_DEFAULT_ACL'),
389+
"custom_domain": os.environ.get("AWS_S3_PUBLIC_CUSTOM_DOMAIN", ""),
389390
},
390391
},
391392
"bundle": {
@@ -473,6 +474,7 @@ def setup_celery_logging(**kwargs):
473474
AWS_STORAGE_PRIVATE_BUCKET_NAME = os.environ.get('AWS_STORAGE_PRIVATE_BUCKET_NAME')
474475
AWS_S3_CALLING_FORMAT = os.environ.get('AWS_S3_CALLING_FORMAT', 'boto.s3.connection.OrdinaryCallingFormat')
475476
AWS_S3_ENDPOINT_URL = os.environ.get('AWS_S3_ENDPOINT_URL', '')
477+
AWS_S3_PUBLIC_CUSTOM_DOMAIN = os.environ.get('AWS_S3_PUBLIC_CUSTOM_DOMAIN', '')
476478
AWS_DEFAULT_ACL = None # Uses buckets security access policies
477479
AWS_QUERYSTRING_AUTH = os.environ.get(
478480
# This stops signature/auths from appearing in saved URLs

src/utils/storage.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
class PublicStorageClass(S3Boto3Storage):
1414
bucket_name = getattr(settings, "AWS_STORAGE_BUCKET_NAME", None)
15+
custom_domain = getattr(settings, "AWS_S3_PUBLIC_CUSTOM_DOMAIN", "")
1516

1617
class PrivateStorageClass(S3Boto3Storage):
1718
bucket_name = getattr(settings, "AWS_STORAGE_PRIVATE_BUCKET_NAME", None)

0 commit comments

Comments
 (0)