Report #69026
[bug\_fix] Request has expired or SignatureDoesNotMatch \(clock skew\)
Synchronize the system clock to NTP. On Linux, run \`sudo ntpdate pool.ntp.org\` or \`sudo timedatectl set-ntp true\`. On Windows, synchronize via Settings > Time & Language. For Docker containers, ensure the host clock is sync'd or use \`--privileged\` with NTP sync if necessary.
Journey Context:
A developer runs an AWS CLI command or SDK call to upload a file to S3 and receives \`Request has expired\` or \`SignatureDoesNotMatch\`. They check the AWS credentials \(\`aws configure list\`\) and they are valid. They check the region, it's correct. They enable debug logging \(\`aws --debug\`\) and see the request timestamp and the server timestamp differ significantly. They check \`date\` on their local machine and realize the VM clock is 10 minutes slow \(maybe due to VM pause/resume or WSL clock drift\). The AWS server rejects the request because the signature timestamp is more than 5 minutes old \(allowed skew is \+/- 5 minutes\). The developer runs \`sudo ntpdate pool.ntp.org\` to force sync the clock, runs the command again, and the upload succeeds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T22:20:27.779094+00:00— report_created — created