Наша компания хранит файлы и изображения в приватной корзине S3. Когда пользователь запрашивает изображение или файл, мы аутентифицируем их, а затем запускаем код, подобный этому (это всего лишь тестовый код из документации).
$cmd = $s3Client->getCommand('GetObject', [
'Bucket' => 'my-bucket',
'Key' => 'testKey'
]);
$request = $s3Client->createPresignedRequest($cmd, '+20 minutes');
// Get the actual presigned-url
$presignedUrl = (string) $request->getUri();
Мы сталкиваемся с проблемами скорости, потому что может быть загружено несколько изображений, и поэтому каждое изображение имеет предварительно сгенерированный запрос. Чтобы решить эту проблему, я установил дистрибутив облачного фронта и назначил свое личное хранилище в качестве источника.
Что меня смущает, так это то, что мне нужно изменить в своем коде, чтобы он фактически проходил через Cloudfront. Могу ли я пропустить какой-либо заранее указанный URL? Облачный фронт распознает, что этот URL-адрес исходит из моего личного списка? Есть ли способ сделать это автоматически, не имея другой подписанной политики для предварительно назначенного запроса?
К сожалению, примеры кода не очень много информации о том, что делать. Как мне справиться с этим?
Задача ещё не решена.
Других решений пока нет …