Подтвердить что ты не робот

Список каталогов на S3 Static Website

Я установил ведро S3 для размещения статических файлов.

При использовании конечной точки сайта (http://.s3-website-us-east-1.amazonaws.com/): он заставляет меня устанавливать индексный файл. Когда файл не найден, он выдает ошибку, а не выводит содержимое каталога.

При использовании конечной точки s3 (.s3.amazonaws.com): Я получаю XML-список файлов, но мне нужен список HTML, в котором пользователи могут щелкнуть ссылку на файл.

Я попытался установить разрешения для всех файлов и самого ведра на "Список" для "Все" в консоли AWS, но все равно не повезло.

Я также пробовал некоторые из альтернатив javascript, но они либо не работают под URL-адресом веб-сайта (который перенаправляется на индексный файл), либо просто не работают вообще. В крайнем случае, складной список javascript будет лучше, чем ничего, но я не нашел хорошего.

Возможно ли это? Если да, мне нужно изменить разрешения, ACL или что-то еще?

4b9b3361

Ответ 1

Я нашел s3browser, что позволило мне настроить каталог на основном веб-сайте, который разрешил просмотр ведра s3. Он работал очень хорошо, и его было очень легко настроить.

Ответ 2

Я создал простой бит JS, который создает индекс каталога в стиле HTML, который вы ищете: https://github.com/rgrp/s3-bucket-listing

README имеет специальные инструкции для обработки кодов Amazon S3: https://github.com/rgrp/s3-bucket-listing#website-buckets

Вы можете увидеть живой пример действия script в этом ведро s3 (в режиме веб-сайта): http://data.openspending.org/

Ответ 3

Существует также это решение: https://github.com/caussourd/aws-s3-bucket-listing

Подобно https://github.com/rgrp/s3-bucket-listing, но я не мог заставить его работать с Internet Explorer. Поэтому https://github.com/caussourd/aws-s3-bucket-listing работает с IE, а также добавляет возможность заказывать файлы по именам, размерам и дате. С другой стороны, это не соответствует папкам: отображаются только файлы на одном уровне.

Ответ 4

Это может решить вашу проблему. Параметры безопасности для группы Everyone: (для этого вам понадобится программное обеспечение bucketexplorer.com)

Если вы делитесь файлами HTTP, вы можете или не хотите, чтобы люди могли перечислять содержимое ведра (папки). Если вы хотите, чтобы содержимое ведра отображалось, когда кто-то вводит имя ведра (http://s3.amazonaws.com/bucket_name/), а затем отредактируйте список контроля доступа и дайте группе Everyone уровень доступа Read (и сделайте аналогично с содержимым ведра.) Если вы не хотите, чтобы содержимое ведра содержало список но хотите поделиться файлом внутри него, отключите доступ для чтения для группы "Все" для самого ведра, а затем включите чтение для отдельных файлов в ведре.

Ответ 5

У меня была аналогичная проблема и я создал решение JavaScript-и-iframe, которое очень хорошо работает для размещения каталогов в файлах S3-сайта. Вам просто нужно сбросить несколько файлов .html в каталог, который вы хотите перечислить. Вы можете найти это здесь: https://github.com/adam-p/s3-file-list-page

Ответ 6

Использование другой базы подходов в JavaScript JavaScript JavaScript и AWS SDK. Не нужен PHP или другой движок просто чистый веб-сайт (Apache или даже IIS).

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

Не предназначено для развертывания на вашем собственном ковше (для меня нет смысла).

Используя новых пользователей IAM от AWS, вы можете предоставить более конкретный и безопасный доступ к вашим ковшим. Не нужно публиковать свой ведро на веб-сайте и делать все общедоступным.

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

Надеюсь, что эта помощь тоже!

Ответ 7

Я создал гораздо более простое решение. Просто поместите файл index.html в корневой каталог вашей папки, и он выполнит эту работу. Конфигурация не требуется. https://github.com/prabhatsharma/s3-directorylisting