aws-sdk-php
、具体的にはSesClientを使用しています。カスタマーサーバー(DreamHostでホストされている)にアプリをデプロイしましたが、このエラーが表示されます。
Signature not yet current: 20130909T170846Z is still later than 20130909T170823Z (20130909T170323Z + 5 min.)
サーバー時間の設定が間違っていると思います。それを確認するためにDHサポートにアクセスしようとしていますが、しばらく時間がかかります。
他のアイデアはありますか?このアプリは以前に何度もデプロイされており、このエラーを見たことはありません。
それはシステム日付の設定ミスに過ぎないようです、これをチェックしてください
https://forums.aws.Amazon.com/thread.jspa?threadID=103764#
その男は同じ問題を抱えていた。
同様の問題がありました。 Ubuntu EC2インスタンスからCIサーバーを実行していましたが、同期が取れなくなりました。 NTP suingと時間を同期しました
Sudo ntpdate ntp.ubuntu.com
それはうまく働き始めました。
最近同じ問題がありました。私は次のことをしました
Sudo ntpd -q -g
-g
オプションは、時計が同期していない場合に必要です。 ntpd
は、同期するまで強制的に続行します。
AWSにデプロイされたアプリDjangoアプリで同じ問題が発生しました。サイトエラーは本当にあいまいでしたが、メールで送信されたエラーログには、「JSONResponseError:JSONResponseError:403 Forbidden {'メッセージ ':'署名はまだ最新ではありません:20150224T185106Zは20150224T185033Z(20150224T184533Z + 5分)よりも後です '} "BotoおよびElastic Transcoderを指すファイルパスの後。サーバーで次の操作を行います。
ntpq -p
は、ntpがインストールされているかどうかを通知しますSudo apt-get install ntp
Sudo service ntp stop
Sudo ntpdate -s us.pool.ntp.org
は、サーバーの時刻を米国の原子時計に合わせます(これは国に合わせて調整する必要があります)Sudo service ntp start
幸運を!詳細はこちらをご覧ください: http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/set-time.html#configure_ntp
サーバーの時刻が現在時刻から5分の精度であることを確認する必要があります。 AMまたはPM時間を確認してください。
私は同様の問題に直面し、いくつかの調査の後、根本的な原因を見つけました。
理由は、AWSインスタンス/サーバーのタイムゾーンと、RESTful呼び出しを行っていたローカルシステムのタイムゾーンが異なっていたからです。 AWSは、リクエストも同じタイムゾーンから行われていると想定します(5分以上のギャップは無視します)。 AWSコンソールからテスト呼び出しを行い、ログの詳細を確認することでこれを検証することができました(Javaスニペット)
private String getDateString() {
Calendar cal = Calendar.getInstance();
DateFormat dfm = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'");
dfm.setTimeZone(TimeZone.getTimeZone("UTC")); //server timezone
return dfm.format(cal.getTime());
}
Windowsの場合、time
とtimezone
が正しいことを確認してください。 PCの時刻は、現在の時刻から5 minutes
精度でなければなりません。