我从AWS收到这个错误:
App\Services\Exceptions\抛出异常,并显示消息“Error in updated facebook event in the systemError executing“PutObject”on“n.jpg”;AWS HTTP错误:客户端错误:PUT n.jpg导致403 Forbidden响应:RequestTimeTooSkewed
reque(truncated...)RequestTimeTooSkewed(client)之间的差异:请求时间与当前时间相差太大-RequestTimeTooSkewed
请求时间与当前时间相差太大2018 - 04 - 03 T075710 Z2018 -04- 03 T06:57:48 Z900000”
它说请求时间是:7:57 am
,服务器时间为:6:57 am
。
但是我的本地机器时间是:9:57 am
(不使用vagrant或任何服务器)。
我的AWS在俄亥俄州,现在的时间是:2:57 am
。
我应该做什么更改来修复此错误?
我正在构建一个php/Laravel 5.5
项目。
5条答案
按热度按时间pdsfdshx1#
您需要更新AWS服务器和本地机器上的时间。最好的方法是运行
ntpdate
命令来同步时间。命令:
lqfhib0f2#
它说请求时间是:上午7:57,服务器时间为:早上6点57分。
服务器时间表示AWS服务器(S3)上的时间。
我的AWS在俄亥俄州,现在的时间是:凌晨2点57分。
这并不重要。AWS在协调世界时(UTC)上运行。各个地区的服务器不知道时间是什么,他们在哪里。
请求时间表示编码到请求中的时间戳,在代码运行的任何地方生成,在本例中可能是您的台式机/笔记本电脑。它以UTC编码。
但是我的本地机器时间是:上午9:57(不使用流浪者或任何服务器)。
一般来说,计算机--操作系统--有两个相互作用的概念来回答“现在几点了?”的问题--
这两个都需要正确...否则,你的时钟可以同时:
您的计算机认为它的时钟被设置为显示正确的当地时间,即UTC+2......因此在签署请求时,它从显示的“本地”时间中减去2小时(显示9:57,请求时间7:57)......但如果上午9:57是您的本地时间,那么您计算机上的时区设置是不正确的,因为您实际上是UTC+3,因为“服务器”(在亚马逊)的时间显示为6:57。
更正您的时区设置,然后将时钟调整一小时(如有必要)应可解决此问题。
91zkwejq3#
对我来说,我在我的系统上打开了日光节约,再试一次,它工作了。我关闭了日光节约,因为使这里的时间晚了1个小时。
根据你在这个星球上的位置,对我起作用的是将我的系统时间减少了1个小时。
csga3l584#
我是如何解决这个问题的:
1.在运行docker-daemon/docker的主机上安装ntp
1.添加NTP服务器
当主机系统时间正确时(与NTP服务器同步后),容器将自动更正时间。
j0pj023g5#
在某些系统上,如果偏移量超过“panic threshold”(通常为1000秒),NTP将不会设置本地时钟。如注解中所述,ntpdate命令可能是处理此问题的最佳方法。或者可以手动设置本地时钟。但如果您这样做,理想情况下需要确保偏移量小于“step threshold”,通常只有0.128秒或0.125秒,否则可能需要900秒(典型的“失步阈值”)来经由时钟步同步。通常,同步花费大约oly240秒,而且不应该有硬的步骤。或者你可以禁用这个“安全”功能。小心“踩”(vs慢慢“管教”)时钟,特别是向后,可能会导致问题。