2013-11-27 4 views
0

Я ищу сочетание политик для доступа к статическому веб-сайту в ведро S3 только с определенной символикой/знаком. Я имею в виду, возможно ли сделать статический веб-сайт нечитаемым всеми по умолчанию, но временно доступным с чем-то вроде http://mybucket.s3-website-location.amazonaws.com/myfolder/index.html?sign=XXXXX? С помощью этого вызова вы также должны иметь доступ ко всему дереву в папке «myfolder».Amazon S3 Защита статического сайта

ответ

1

Вы можете сделать это только по одному URL-адресу за раз, используя подписанный URL-адрес S3 с истечением срока действия. Невозможно создать подпись, которая может быть добавлена ​​к любой из групп URL-адресов, которые заставят всех работать с подписью, но не работать без нее.

Извините.

Однако это довольно легко сделать с фактическим веб-сайтом в качестве передней части. Вам придется закодировать веб-сайт для перенаправления каждого запроса на подписанный URL-адрес, специфичный для этого объекта. Для этого вам понадобится экземпляр EC2, который запускает код, который вы пишете. Но на данный момент S3 не имеет возможности сделать это самостоятельно.

3

Я не думаю, что это возможно - подумайте о том, как вы это сделаете на обычном веб-сайте, вам нужно будет прочитать запрос, а затем сделать какой-то поиск/логику, чтобы определить, действительно ли токен, необходимо выполнить некоторую обработку на стороне сервера, чтобы выполнить эту логику.

После того, как вам потребуется добавить серверную логику, у вас больше нет «статического» веб-сайта (хотя в конечном итоге вы можете обслуживать статические страницы). В этом случае решение S3 не может быть правильным решением.

От AWS: http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html

Вы можете разместить статический сайт на Amazon S3. На статическом веб-сайте отдельные веб-страницы включают статический контент. Они также могут содержать клиентские скрипты. Напротив, динамический веб-сайт использует серверную обработку, включая серверные сценарии, такие как PHP, JSP или ASP.NET. Amazon S3 не поддерживает серверные скрипты.

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