2

初めてs3をセットアップし、バケットを作成してデモファイルをアップロードしようとするPHPSDKに付属のサンプルファイルを実行しようとしています。しかし、これは私が得ているエラーです:

The difference between the request time and the current time is too large.

私はSOに関する別の質問を読みました。これは、Amazonがサーバーとクライアント間の時間を比較することによって有効なリクエストを決定するためであり、2つは互いに15分のスパン内にある必要があります。

ここに問題があります。私のラップトップの時間は12:30AM June 8, 2012今です。私のサーバーでservertime.phpというファイルを作成し、このコードをそのファイルに配置しました。

<?php
   print strftime('%c');
?>

出力は次のとおりです。

Fri Jun 8 00:31:22 2012

その日は正しいようですが、どうすればいいのかわかりません00:31:22。いずれにせよ、クライアントとサーバー間の時間が互いに15分のウィンドウ内にあることを常に確認するにはどうすればよいでしょうか。中国に、cdnにs3を使用するファイルを自分のサイトにアップロードしたいユーザーがいる場合はどうなりますか。その場合、時差は1日以上になります。すべてのユーザーの時間がサーバー時間から15分以内であることを確認するにはどうすればよいですか?ユーザーが米国にいるが、マシンの時間が正しく構成されていない場合はどうなりますか。

基本的に、s3バケットの作成とアップロードを機能させる方法は?

4

1 に答える 1

4

EC2インスタンスとS3バケットを同じリージョン内に配置し、サーバーの時刻が正しいことを確認します。

Debian / Ubuntu

// install ntp
apt-get install ntp ntpdate

CentOS / Fedora

// install ntp
yum install ntp

// turn on service
chkconfig ntpd on

// synchronize system clock with 0.pool.ntp.org server
ntpdate pool.ntp.org

// start ntp
/etc/init.d/ntpd start

それはあなたの問題を解決するはずです。

于 2012-06-08T09:43:52.097 に答える