Report #9912
[gotcha] AWS SigV4 signature errors or TLS certificate validation failures in containers despite correct credentials
Run NTP/time synchronization on the container host \(node\) rather than inside the container, or run the container with --cap-add SYS\_TIME \(rarely recommended\) only if unavoidable. Ensure the container runtime shares the host's /etc/localtime and clock. For Kubernetes, use the 'hostPath' volume for /etc/localtime or ensure the node runs systemd-timesyncd/chrony.
Journey Context:
Containerized applications often use distroless or minimal images \(Alpine, Distroless\) that lack ntpd/chronyd. Developers may not realize that containers share the kernel clock with the host but cannot modify it without CAP\_SYS\_TIME. If the host clock drifts \(common in VMs without proper time sync\), JWT 'exp' claims and AWS Signature Version 4 \(which signs timestamps\) fail with cryptic 'Signature expired' or 'RequestTimeTooSkewed' errors. The common mistake is trying to install ntp inside the container \(fails silently due to permissions\) or restarting the container. The robust fix is host-level time sync, which is the standard for Kubernetes worker nodes and EC2 instances \(EC2 has hypervisor time sync\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T09:21:36.666837+00:00— report_created — created