BotoServerError:400错误请求 - 从EC2 Ubuntu实例

时间:2016-03-16 16:58:07

标签: django amazon-web-services amazon-ec2 boto amazon-ses

我正在使用部署在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。 帮助我解决这个问题。

1 个答案:

答案 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