2014-02-05 2 views
0

Мне нужно создать общедоступный URL-адрес для изображений с правами на разрешение в S3. Поскольку уникальный URL-адрес, предоставленный S3, показывает, что доступ запрещен при открытии публично, я использую URL-адрес, как показано ниже, чтобы показать изображение на веб-сайте, но проблема в том, что он имеет ключ доступа, подпись и т. Д.URL-адрес кэширования и укорочения URL-адресов Amazon S3

Мне также необходимо сохранить это активная ссылка на длительный период, поскольку одна и та же ссылка используется до дня.

https://s3.amazonaws.com/bucketName/folderName/fileName?response-content-disposition=attachment%3B%20filename%3D%22fileName%22&AWSAccessKeyId=accessKeyId&Expires=expiryTime&Signature=signatureKey 

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

Для публичного URL, он должен быть открыт , но не редактируется.

Do I need to add Open/DownLoad Permission to everyone when calling webservice S3? 

ответ

0

Как я могу лучше URL здесь, который является меньшим по длине, так как выше URL также не получают кэшируются в стороне браузера

Если вы хотите, чтобы ваш URL может быть кэшируются браузером вам, может установить Cache-control и Expires заголовки, когда вы кладете объект.

Нужно ли добавлять разрешение Open/DownLoad всем при вызове webservice S3?

Нет, так как вы использовали назначенный URL.

+0

, принято считать, что доступ к AmazonKey в URL-адресе S3? – fortm

+1

Да, это дизайн AWS. Если вам нужно более безопасно, попробуйте использовать метод проверки доступа к IAM и v4 здесь: http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html – okwap

+1

Поскольку URL-адрес содержит подпись, которая восстанавливается при каждой загрузке страницы, URL-адрес нельзя кэшировать. –