S3 preauth超时似乎已关闭

时间:2012-03-22 22:52:41

标签: php amazon-s3

我在使用AWS s3 PHP SDK的单元测试中完成了以下操作:

$url = $s3->get_object_url($bucket, $path, '10 seconds');
echo $url . "\n";
echo time() . "\n";

sleep(20);
$this->assertEquals(403, $this->getUrlHttpCode($url));

断言失败,因为即使在20秒后仍然可以访问URL。亚马逊返回的“Expires”URL参数是正确的,但请求仍然成功。

这是S3中的错误吗?有人经历过这个吗?

1 个答案:

答案 0 :(得分:0)

亚马逊支持告诉我,这是由我的服务器时间和S3服务器时间之间的差异引起的。

这实际上现在确实有意义,因为我的CI服务器已经运行了几个月,并且很可能存在时间差。我添加了一个cronjob来运行ntpdate,我的测试现在似乎正在运行。