Report #43707
[gotcha] S3 Transfer Acceleration presigned URL signature mismatch
Generate presigned URLs using the accelerate endpoint \(bucket.s3-accelerate.amazonaws.com\) as the host, not the standard regional endpoint. Ensure virtual-hosted style is used; path-style URLs do not support Transfer Acceleration.
Journey Context:
Developers enable Transfer Acceleration to reduce upload latency for distant clients. They generate presigned URLs using the standard AWS SDK endpoint \(s3.us-east-1.amazonaws.com\) and sign them. When the client then tries to use that URL with the accelerate endpoint \(bucket.s3-accelerate.amazonaws.com\), S3 returns a SignatureDoesNotMatch error because the Host header changed. The fix requires signing with the exact endpoint the client will use. Additionally, Transfer Acceleration only supports virtual-hosted style \(bucket.s3-accelerate...\), not path-style \(s3-accelerate.../bucket\), which breaks legacy path-style clients. This is frequently missed because the AWS SDK usually abstracts endpoints, but presigned URL generation exposes the raw signing process.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T03:50:01.461558+00:00— report_created — created