我使用的是aws-sdk-php
的SesClient具体来说,我已经部署在客户服务器(在DreamHost的托管)的应用程序,我得到这个错误:
Signature not yet current: 20130909T170846Z is still later than 20130909T170823Z (20130909T170323Z + 5 min.)
我猜的服务器时间是配置错误,我试图达到卫生署的支持,继续检查,我敢打赌,将需要一段时间。
任何其他的想法?该应用程序之前已经部署了很多次,我从来没有见过这个错误。
我有类似的问题。我是从一个Ubuntu EC2实例中运行我的CI服务器,并具有时间不同步。我同步的时间与NTP起诉
sudo ntpdate ntp.ubuntu.com
它开始工作的罚款。
最近,我有同样的问题。我做了以下
sudo ntpd -q -g
如果你的时钟方式不同步是必须的-g
选项。它迫使ntpd
继续,直到它的同步。
我只是部署到AWS一个Django应用程序时遇到了同样的问题。网站错误真的含糊,但通过电子邮件发送给我的错误日志中说,“JSONResponseError:JSONResponseError:403禁止{‘消息’:‘签名尚未电流:(20150224T184533Z + 5分钟)20150224T185106Z仍然晚于20150224T185033Z’ }”后指出,宝途和弹性转码器的文件路径。不要在服务器上执行以下操作:
ntpq -p
会告诉你,如果你已经安装了NTPsudo 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分钟的准确性。检查上午或下午的时间。
我面临着类似的问题,经过一番调查,发现根本原因。
原因是,我的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
是正确的。你的电脑的时间必须是从当前时间5 minutes
精度。