2013-03-10 7 views
0

В настоящее время я пишу приложение с использованием Yii-framework на PHP, в котором хранится большое количество файлов, загружаемых пользователями приложения. Я решил, что, поскольку количество файлов будет постоянно увеличиваться, было бы полезно использовать Amazon S3 для хранения этих файлов, и по запросу сервер мог бы получить файлы и отправить их пользователю. (Сервер является экземпляром EC2 в той же зоне)Amazon S3 для загрузки файлов и кеширования

Поскольку файлы являются конфиденциальными, сервер должен проверить личность пользователя и его учетные данные, прежде чем разрешить пользователю получать файл. Есть ли способ отправить файл пользователю в этом случае непосредственно с S3 или мне нужно сначала вывести данные на сервер, а затем передать его пользователю.

Если так, есть ли способ кэшировать недавно загруженные файлы на локальном сервере, так что ему не нужно переходить на s3 для поиска файла. В большинстве случаев самые последние загруженные файлы будут запрашиваться повторно несколькими клиентами.

Любая помощь была бы принята с благодарностью!

ответ

0

Аутентифицированные клиенты могут загружать файлы непосредственно с S3, подписывая соответствующие URL-адреса на сервере до отображения страницы/URL-адреса клиенту.

Для получения дополнительной информации см: http://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html

Обратите внимание, что для конфиденциальных файлов вы можете также рассмотреть вопрос о стороне сервера/клиента шифрование на стороне. Наконец, для статических файлов (например, изображений) вы также можете установить соответствующие заголовки кеша.

Смежные вопросы