2016-08-10 76 views
0

我试图使用Laravels FileSystem从Amazon S3上传/检索文件。拒绝连接Laravel 5.2和Amazon S3

我已经设置了Amazon S3帐户并使用IAM创建了一个新用户。我已向用户提供了AmazonS3FullAccess的政策。我已经生成了密钥并复制了访问和密钥。

我已经将文件系统配置中的密钥以及区域Frankfurt和我的存储桶名称一起添加到文件系统配置中。我还将默认磁盘设置为s3

当我尝试简单地将文件上传到S3磁盘时,出现错误。

's3' => [ 
     'driver' => 's3', 
     'key' => env('S3_KEY'), 
     'secret' => env('S3_SECRET'), 
     'region' => env('S3_REGION'), 
     'bucket' => env('S3_BUCKET'), 
    ], 

PHP的:

Route::get('s3', function() { 
    Storage::put('myfile.txt' , 'Test File'); 
}); 

错误:

Error executing "ListObjects" on "https://s3.frankfurt.amazonaws.com/bucketnamehere?prefix=myfile.txt%2F&max-keys=1&encoding-type=url"; AWS HTTP error: Error creating resource: [message] fopen(https://s3.frankfurt.amazonaws.com/bucketnamehere?prefix=myfile.txt%2F&max-keys=1&encoding-type=url): failed to open stream: Connection refused 
[file] /var/www/ProjectNameHere-Events/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php 
[line] 312 

回答

0

两点我从HTTP请求中注意到,您需要在您的.env

S3_REGION=eu-central-1 
S3_BUCKET=CORRECT_BUCKET_NAME 
添加正确的参数

我noti除非您已更改安全性,否则从端点删除存储桶名称不正确。

+0

我的S3_Region =法兰克福,它应该是欧盟中央区域1您从哪里得到这个数值? – KayTokyo

+0

是的,我改变了bucketname的安全性。 – KayTokyo

+0

是的,请在这里找到它:http://docs.aws.amazon.com/general/latest/gr/rande.html –