Невозможно получить доступ к файлу с URL объекта
Я не могу получить доступ к файлу, к которому я пытаюсь получить доступ через предварительно подписанный URL.
$cmd = $s3Client->getCommand('GetObject', [
'Bucket' => 'test-bucket-pcloud',
'Key' => 'testfile.txt'
]);
$request = $s3Client->createPresignedRequest($cmd, '+20 minutes');
// Get the actual presigned-url
$presignedUrl = (string) $request->getUri();
Когда URL-адрес доступен в браузере, я получаю:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AuthorizationQueryParametersError</Code>
<Message>X-Amz-Algorithm only supports "AWS4-HMAC-SHA256"</Message>
<RequestId>8D109D39C69E665D</RequestId>
<HostId>
lH+u+MEnbF+Sps0kd/tMEGS0ePHjQlUDGWN8lLnzkXYkrIb0YksK6ahzUflPFMbQG8zUzLFl9y4=
</HostId>
</Error>
Что может быть причиной этого? Кроме того, когда я пытаюсь получить доступ к корзине с URL-адреса, полученного как:
$signedURL = $s3Client->getObjectUrl('test-bucket-pcloud','testfile.txt');
Я все еще получаю ту же ошибку.
Вот снимок разрешения для корзины:
1 ответ
Вы проверили свою конфигурацию CORS?
https://aws.amazon.com/blogs/aws/amazon-s3-cross-origin-resource-sharing/
В общей конфигурации CORS вы можете разрешить источник, метод и заголовок. Я начну с добавления конфигурации CORS.