2012-03-22 59 views
1

我已經做了與AWS的S3 PHP SDK單元測試如下:S3預認證超時似乎是斷

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

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

斷言失敗,因爲URL甚至20秒之後仍然可以訪問。亞馬遜返回的'Expires'URL參數是正確的,但該請求仍然成功。

這是S3中的一個bug嗎?任何人都會遇到這個問題

回答

0

亞馬遜支持告訴我,這是由我的服務器時間和S3服務器時間之間的差異造成的。

這實際上現在確實有道理,因爲我的CI服務器已經有好幾個月了,而且時間間隔很可能存在。我添加了一個cronjob來運行ntpdate,我的測試似乎現在正在工作。