我遇到了一个问题,我在docker容器中开发程序,不知从哪里我似乎得到了一个无效签名的问题。当我尝试从AWS Secrets Manager检索资源时,引发了以下异常(我不相信特定的AWS服务与此问题相关):
botocore.exceptions.ClientError:调用GetSecretValue操作时发生错误(InvalidSignatureException):签名过期:20200505 T192909 Z现在早于20200506 T151410 Z(20200506 T151910 Z- 5分钟)
2条答案
按热度按时间j8ag8udp1#
已知当客户端系统的时钟与AWS同步的时钟不同步时会发生此异常。
为了检查这个容器的时间,我在一个断点暂停了我的程序,检查了一下当前的时间。果然,它和实际时间有偏差!
首先要检查:
首先要检查的是您的本地系统的时间。如果该系统已关闭,请重新同步该系统,然后重试。这 * 应该 * 可以解决问题。
1.这可以通过使用
ntpd
在类似Unix的系统上完成。Docker桌面
Docker Desktop的用户可能仍然会收到相同的错误,尽管他们的本地计算机的时间是同步的。
虽然这是真的,Docker容器将有同步的时间与他们的主机,这是重要的是要注意,Docker桌面运行一个虚拟机的Docker。与说,* mac或windows机器不是主机,虚拟机。* 这是我遇到的问题。我的windows桌面有一个同步和最新的日期/时间,但Docker桌面虚拟机是问题。
7z5jn7bk2#
使用WSL 2 i在powershell模式下运行admin
字符串
再次运行代码!