web-dev-qa-db-ja.com

AWS SDKエラー-署名はまだ最新ではありません

aws-sdk-php、具体的にはSesClientを使用しています。カスタマーサーバー(DreamHostでホストされている)にアプリをデプロイしましたが、このエラーが表示されます。

Signature not yet current: 20130909T170846Z is still later than 20130909T170823Z (20130909T170323Z + 5 min.)

サーバー時間の設定が間違っていると思います。それを確認するためにDHサポートにアクセスしようとしていますが、しばらく時間がかかります。

他のアイデアはありますか?このアプリは以前に何度もデプロイされており、このエラーを見たことはありません。

40
xmarcos

それはシステム日付の設定ミスに過ぎないようです、これをチェックしてください

https://forums.aws.Amazon.com/thread.jspa?threadID=103764#

その男は同じ問題を抱えていた。

36
Martin Navarro

同様の問題がありました。 Ubuntu EC2インスタンスからCIサーバーを実行していましたが、同期が取れなくなりました。 NTP suingと時間を同期しました

Sudo ntpdate ntp.ubuntu.com

それはうまく働き始めました。

49
Kamrul

最近同じ問題がありました。私は次のことをしました

Sudo ntpd -q -g

-gオプションは、時計が同期していない場合に必要です。 ntpdは、同期するまで強制的に続行します。

5
Bish

AWSにデプロイされたアプリDjangoアプリで同じ問題が発生しました。サイトエラーは本当にあいまいでしたが、メールで送信されたエラーログには、「JSONResponseError:JSONResponseError:403 Forbidden {'メッセージ ':'署名はまだ最新ではありません:20150224T185106Zは20150224T185033Z(20150224T184533Z + 5分)よりも後です '} "BotoおよびElastic Transcoderを指すファイルパスの後。サーバーで次の操作を行います。

  1. ntpq -pは、ntpがインストールされているかどうかを通知します
  2. Ntpがない場合は、Sudo apt-get install ntp
  3. Sudo service ntp stop
  4. Sudo ntpdate -s us.pool.ntp.orgは、サーバーの時刻を米国の原子時計に合わせます(これは国に合わせて調整する必要があります)
  5. Sudo service ntp start

幸運を!詳細はこちらをご覧ください: http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/set-time.html#configure_ntp

5

サーバーの時刻が現在時刻から5分の精度であることを確認する必要があります。 AMまたはPM時間を確認してください。

2
Duvan

私は同様の問題に直面し、いくつかの調査の後、根本的な原因を見つけました。

理由は、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());
}
2
rai.skumar

Windowsの場合、timetimezoneが正しいことを確認してください。 PCの時刻は、現在の時刻から5 minutes精度でなければなりません。

1