Как показать предыдущую версию статического сайта, размещенного на S3 - PullRequest
0 голосов
/ 26 октября 2019

В настоящее время у меня есть версии 1 и 2 моего статического веб-сайта, загруженные в корзину S3, для которой включено управление версиями. По умолчанию его версия 2 веб-сайта, которая отображается, когда посетители посещают S3 URL. Есть ли способ программно или через консоль установить это для отображения версии 1?

1 Ответ

1 голос
/ 26 октября 2019

Вы получаете доступ к определенным версиям файла в S3, добавляя версию к вашему запросу, например, http://example.cloudfront.net/image.png?verisonId=[id].

Вам также необходимо установить политику корзины, которая разрешает вашему дистрибутиву CloudFront доступ к версионнымобъекты:

{
 "Version":"2012-10-17",
 "Id": "CloudFrontAccessToVersionedObjects",
 "Statement": [{
      "Action": ["s3:GetObject", "s3:GetObjectVersion" ],
      "Effect": "Allow",
      "Principal":{"CanonicalUser":"<CLOUDFRONT CANONICAL ID>"},
      "Resource": "<BUCKET>",
      "Sid": "CloudFrontAccess"
 }]}

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

В качестве примечания, если вы всегда хотите использовать определенную версию, быстрый способреализовать это без внесения каких-либо изменений в существующий код - это использовать Viewer Request Lambda @ Edge, чтобы переписать запрос, прежде чем он будет передан в S3 Origin, чтобы добавить versionId=[id] ко всем запросам к S3 origin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...