0

私は現在、PHP で Yii フレームワークを使用して、アプリケーションのユーザーがアップロードした多数のファイルを格納するアプリケーションを作成しています。ファイルの数が増え続けるため、Amazon S3 を使用してこれらのファイルを保存し、要求されたときにサーバーがファイルを取得してユーザーに送信することが有益であると判断しました。(サーバーは同じゾーン内の EC2 インスタンスです)

ファイルはすべて機密であるため、サーバーは、ユーザーがファイルを受信できるようにする前に、ユーザーの身元と資格情報を確認する必要があります。この場合、S3 から直接ファイルをユーザーに送信する方法はありますか、それともデータを最初にサーバーにプルしてからユーザーに提供する必要がありますか。

もしそうなら、ファイルを探すためにs3に行く必要がないように、最近アップロードされたファイルをローカルサーバーにキャッシュする方法はありますか? ほとんどの場合、最近アップロードされたファイルは、複数のクライアントから繰り返し要求されます。

どんな助けでも大歓迎です!

4

2 に答える 2

1

認証されたクライアントは、クライアントにページ/URL を表示する前にサーバーで適切な URL に署名することにより、S3 からファイルを直接ダウンロードできます。

詳細については、http ://s3.amazonaws.com/doc/s3-developer-guide/RESTAuthentication.html を参照してください。

機密ファイルの場合、サーバー側/クライアント側の暗号化も検討する必要があることに注意してください。最後に、静的ファイル ( images など) の場合は、適切なキャッシュ ヘッダーも設定する必要があります。

于 2013-03-10T13:29:40.303 に答える