s3预先登记的网址无法在我的网络外工作
我用户sdk v.3存储&从s3中检索文件。我已经生成了预定网址&,它可以在我的网络中正常工作。但我无法访问其他网络的网址。 这里是我的代码s3预先登记的网址无法在我的网络外工作
$sharedConfig = [ 'version' => 'latest',
'region' => 'eu-west-1',
'credentials' => [
'key' => '...',
'secret' => '...'
]
];
$sdk = new Aws\Sdk($sharedConfig);
$s3Client = $sdk->createS3();
$object = [
'Bucket' => 'test.bucket',
'Key' => 'icon.png'
];
$cmd = $s3Client->getCommand('GetObject',$object);
$request = $s3Client->createPresignedRequest($cmd, '+5 minutes');
有没有什么办法让网址完全公开的5分钟内没有改变斗ACL?顺便说一句,我在尝试从其他网络访问预先注册的url时遇到以下错误。
<Error> <Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>A793BD3D8DF125E5</RequestId>
<HostId>
1nV37sDXfKGEkHuiDGY9I8TNZllIL8jDQabC4vlpuAtSDllOay3qGglf9Y/EW6wFILnfAszG/YM=
</HostId>
</Error>
回答:
Presigned网址供公众查阅生成。但我的存储桶只允许从特定的IP访问。这就是为什么我无法从任何其他网络访问网址。
我通过在我的服务器上创建另一个下载服务(这是白名单)并将该文件下载到请求者来完成我的任务。
以上是 s3预先登记的网址无法在我的网络外工作 的全部内容, 来源链接: utcz.com/qa/260852.html