我遇到了一个错误,尝试使用Amazon的PHP SDK和changeresourceRecordSets进行身份验证并创建新的Route53记录集。这是我到目前为止所尝试的内容:
以下代码:
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=XXYYZZ
AWS_SECRET_ACCESS_KEY=112233
AWS_ZONE_ID=UHUHUHUH
以下代码:
$s3 = AWS::createClient('s3');
$s3->putObject(array(
'Bucket' => 'mydomain.com',
'Key' => 'new.pdf',
'SourceFile' => storage_path('app/old.pdf'),
));
以下代码:
$client = AWS::createClient('Route53');
//dd($client); $client object returned, this works
$result = $client->changeResourceRecordSets(array(
'HostedZoneId' => env('AWS_ZONE_ID'),
'ChangeBatch' => array(
'Comment' => 'just testing',
'Changes' => array(
array(
'Action' => 'CREATE',
'ResourceRecordSet' => array(
'Name' => 'test.mydomain.com.',
'Type' => 'A',
'TTL' => 600,
'ResourceRecords' => array(
array(
'Value' => '52.52.52.52',//my AWS IP address
),
),
),
),
),
),
));
客户端错误:
POST https://route53.amazonaws.com/2013-04-01/hostedzone/MYZONE/rrset/
导致403 Forbidden
回复: 寄件人
更多来自错误...
SignatureDoesNotMatch(客户):签名已过期:20160225T215502Z现在早于20160225T220842Z(20160225T221342Z - 5分钟)
任何建议都表示赞赏。
答案 0 :(得分:0)
我应该补充一点,我在家园/虚拟机环境中运行,真正的问题是我的VM上的日期服务很糟糕。
简单地运行sudo ntpdate -s time.nist.gov解决了这个问题。