Why Doesn’t Amazon S3 Transfer Acceleration Accept Bucket Names with Periods (.)?
Amazon S3 Transfer Acceleration does not support bucket names that contain a period (.
) due to TLS/SSL certificate validation issues.
Here is Why?
S3 Transfer Acceleration Uses CloudFront
When you enable S3 Transfer Acceleration, AWS routes requests through Amazon CloudFront edge locations to speed up uploads and downloads.
CloudFront requires valid SSL/TLS certificates for HTTPS communication.
Wildcard SSL Certificates Issue
AWS uses a wildcard certificate like:
*.s3-accelerate.amazonaws.com
If your bucket name contains a period (
.
), the hostname will look like:my.bucket.name.s3-accelerate.amazonaws.com
SSL certificates treat
.
as a subdomain separator, somy.bucket.name
is interpreted as a multi-level subdomain, breaking the wildcard certificate match.
Result: SSL/TLS Name Mismatch Error
- If AWS allowed such bucket names, it would lead to TLS/SSL validation errors and connection failures.
Workarounds:
✅ Use bucket names without periods (.
) – Example:
mybucketname.s3-accelerate.amazonaws.com
✅ Use virtual-hosted style URLs with custom domains – Example:
- Set up an S3 bucket with a custom domain and use CloudFront with an ACM certificate.
✅ Use path-style URLs for direct S3 access (but note that AWS is deprecating them).
Amazon S3 Naming Convention:
Always follow S3 bucket naming best practices:
🚀 Avoid special characters (.
, _
, etc.).
🚀 Use lowercase letters, numbers, and hyphens (-
) only.
Happy Learning 😊