>为Laravel安装了AWS SDK
>使用Amazon的IAM创建新用户和组,并将Fulladministrator策略应用于该组.
>将新用户凭据和其他AWS变量存储在我的.env文件中,如下所示:
代码如下:
AWS_REGION=us-east-1AWS_ACCESS_KEY_ID=XXYYZZAWS_SECRET_ACCESS_KEY=112233AWS_ZONE_ID=UHUHUHUH
>确认我的Laravel环境配置正确,我的控制器通过测试以下方式工作:
代码如下:
$s3 = AWS::createClIEnt('s3');$s3->putObject(array( 'Bucket' => 'mydomain.com','Key' => 'new.pdf','Sourcefile' => storage_path('app/old.pdf'),));
>一旦我确认我的凭据对S3起作用,我就紧紧跟着这个SO answer and code来创建一个新的Route53客户端并在我的Route53托管区创建一个新的记录集.这是我稍微修改过的代码:
代码如下:
$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 ),),));
>产生的错误如下:
ClIEnt error:
POST
https://route53.amazonaws.com/2013-04-01/hostedzone/MYZONE/rrset/
resulted in a403 ForbIDden
response:
Sender
更多来自错误……
SignatureDoesNotMatch (clIEnt): Signature expired: 20160225T215502Z is Now earlIEr than 20160225T220842Z (20160225T221342Z – 5 min.)
任何建议表示赞赏.
解决方法 我应该补充一点,我在家园/虚拟机环境中运行,真正的问题是我的VM上的日期服务很糟糕.只需运行sudo ntpdate -s time.nist.gov修复了问题.
总结以上是内存溢出为你收集整理的php – 使用Laravel AWS SDK在Route53中创建记录集时出错全部内容,希望文章能够帮你解决php – 使用Laravel AWS SDK在Route53中创建记录集时出错所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)