我正在使用部署在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。帮助我如何解决这个问题。
请求时间戳: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