Report #12524
[bug\_fix] SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided
Synchronize the system clock to within 5 minutes of NTP time using \`ntpdate\` or \`chronyd\`. On Docker Desktop or virtual machines, restart the VM to reset the clock drift, or run a time sync command in the container startup script. Ensure the container shares the host's clock or runs NTP.
Journey Context:
A developer is running a Python application in a Docker container on their macOS laptop using Docker Desktop. The application uses \`boto3\` to upload files to S3. The developer closes their laptop, putting it to sleep overnight. The next morning, they wake the laptop and resume the Docker container. The application immediately starts throwing \`SignatureDoesNotMatch\` errors on every S3 request. The developer checks the AWS Access Key and Secret, regenerates them, and updates the container env vars, but the error persists. They enable SDK logging and see the \`X-Amz-Date\` header in the request is several hours behind the current time. They \`docker exec\` into the container and run \`date\`, which shows the time is 7 hours behind the host macOS time because the Docker VM clock froze during sleep. They realize AWS Signature Version 4 uses the date in the signature, and if the client clock is >5 minutes off from server time, the signature validation fails. They restart Docker Desktop \(which syncs the VM clock\) and the uploads work.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T16:15:34.379259+00:00— report_created — created