我正在使用部署在AWS EC2 Ubuntu实例上的Django(Pyhton)框架,并使用BOTO和AWS SES服务发送电子邮件。 早些时候我的脚本曾经工作过。 但是几天后我遇到了一个错误:
BotoServerError at /contact_us/
BotoServerError: 400 Bad Request
<ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
<Error>
<Type>Sender</Type>
<Code>RequestExpired</Code>
<Message>Request timestamp: Wed, 16 Mar 2016 16:57:21 GMT expired. It must be within 300 secs/ of server time.</Message>
</Error>
<RequestId>368a4b97-eb97-11e5-bf2d-8ff0675b134d</RequestId>
</ErrorResponse>
异常位置: /usr/local/lib/python2.7/dist-packages/boto/ses/connection.py 在_handle_error,第177行
服务器时间: 2016年3月16日星期三16:57:21 +0000
SES正在研究UTC,我也将EC2的时间更改为UTC。 帮助我解决这个问题。
答案 0 :(得分:3)
索取时间戳:2016年3月16日星期三16:57:21 GMT到期。它 必须在300秒/服务器时间内。
由于您说它几天没有工作,很可能是由于最近的夏令时。而且很可能你没有运行ntp来同步你的时钟。
试试这个:sudo ntpdate pool.ntp.org
将同步您的系统时钟。如果要确保定期发生时间同步,请启动NTP守护程序:
sudo service ntp stop
sudo ntpdate -s pool.ntp.org
sudo service ntp start