2012-02-12 22 views
30

静的ファイルをホストするS3バケットをセットアップしました。S3静的Webサイトのディレクトリ一覧

ウェブサイトのエンドポイント(http://.s3-website-us-east-1.amazonaws.com/)を使用している場合は、を使用してインデックスファイルを設定する必要があります。ファイルが見つからない場合は、ディレクトリの内容を表示する代わりにエラーがスローされます。

s3エンドポイント(.s3.amazonaws.com)を使用している場合:ファイルのXMLリストが表示されますが、ユーザーがファイルへのリンクをクリックできるHTMLリストが必要です。

すべてのファイルとバケット自体のパーミッションをAWS Consoleの「Everyone」の「List」に設定しようとしましたが、まだ運がありません。

私もいくつかのjavascriptの選択肢を試しましたが、ウェブサイトのURL(インデックスファイルにリダイレクトされる)で動作しないか、まったく動作しません。最後の手段として、折りたたみ可能なjavascriptのリストは何もないよりも良いでしょうが、私は良いものを見つけませんでした。

これは可能ですか?もしそうなら、アクセス権やACLなどを変更する必要がありますか?

答えて

3

私はs3browserを見つけました。私は、メインのWebサイトにs3バケットの閲覧を許可するディレクトリを設定することができました。それは非常にうまくいって、セットアップがとても簡単でした。

+0

これを行う方法のドキュメントを教えてください。歓声 – gollumullog

+1

これは "正しい"答えだったので、私はそれを推測しています、誰もS3でこれを100%行う方法を考え出していません。このソリューションでは、ミニアプリケーションをホストする別のサーバーが必要です。 –

4

これにより、問題が解決する場合があります。 Everyoneグループのセキュリティ設定: (このためにbucketexplorer.comソフトウェアが必要です)

HTTPのファイルを共有する場合、バケット(フォルダの内容)を一覧表示できるようにすることもできないこともあります。 )誰かがバケット名(http://s3.amazonaws.com/bucket_name/)を入力したときにバケットの内容を表示するには、アクセスコントロールリストを編集し、Everyoneグループに読み取りのアクセスレベルを与えます)バケットの内容を一覧表示できないようにするには、バケット内のファイルを共有したい場合は、バケット自体のEveryoneグループに対する読み取りアクセスを無効にしてから、そのバケットの読み取りアクセスを有効にします。バケット内の個々のファイル

+0

私はhttp://s3.amazonaws.com/bucket_name/メソッドを試して、HTMLリストの代わりにXMLリストを表示しています。 – iJeep

4

私は同様の問題を抱え、S3ウェブサイトファイルのディレクトリを一覧表示するためのJavaScriptとiframeのソリューションを作成しました。リストしたいディレクトリにいくつかの.htmlファイルをドロップするだけです。ここで見つけることができます: https://github.com/adam-p/s3-file-list-page

+0

iFrameをお勧めします。私は私が必要としたことをするプログラムを見つけることに終わった。私は答えを投稿します。 – iJeep

+0

ウェブサイトから:このiframeのハックは、S3のCORSサポートの紹介(2012-09-01)によっておそらく取り除かれます。このように、私はデモサイトが稼動し続けることを保証するものではありません。 –

26

私はあなたが探しているHTML形式でディレクトリインデックス作成JSの単純なビット作成しました:https://github.com/rgrp/s3-bucket-listing#website-buckets

https://github.com/rgrp/s3-bucket-listing

をREADMEは、Amazon S3、「ウェブサイト」バケットを処理するための具体的な手順を持っています

このs3バケット(ウェブサイトモード)でスクリプトの実際のサンプルを見ることができます。http://data.openspending.org/

+0

これはどのような視点で生き生きとしたデモを作り上げることができると思いますか?そうでなければ、いくつかのスクリーンショットでしょうか? –

+0

@MerynStol私は答えの中のライブサンプルへのリンクを追加しました。注意してください少しのCSSのフュージョン(私の目的は古典的なapacheスタイルのディレクトリのリストを模倣することだった...) –

+0

ありがとう!私はそれが大好きです:) –

4

純粋なJavaScriptとAWS SDK JavaScript APIの別のアプローチベースを使用しています。 PHPや他のエンジンだけの純粋なWebサイト(ApacheやIIS)は必要ありません。

https://github.com/juvs/s3-bucket-browser

ない独自のバケットにデプロイのための意図(私にとっては、意味をなさない)。

AWSの新しいIAMユーザーを使用すると、バケツに対してより具体的かつ安全なアクセスを提供できます。バケツをウェブサイトに公開して公開する必要はありません。

アクセスを保護する場合は、従来の方法を使用して、現在のWebサイトのユーザーを認証することができます。

このヘルプもお待ちしております。

+0

私はこれが好きです。おそらく、HTML/JS/CSSファイルを静的なWebサイトとして提供されるS3バケットにアップロードするだけです。私はこれを試してみる。 –

6

もこのソリューションがあります:https://github.com/rgrp/s3-bucket-listingからhttps://github.com/caussourd/aws-s3-bucket-listing

似ていますが、私はそれは、Internet Explorerで動作させることができませんでした。したがって、https://github.com/caussourd/aws-s3-bucket-listingはIEで動作し、名前、サイズ、日付でファイルを並べ替えることも可能です。欠点として、フォルダーには追従しません。あるレベルのファイルだけが表示されます。

関連する問題