Будет ли Amazon-Cloudfront следовать перенаправлению 308? - PullRequest
0 голосов
/ 01 июня 2018

Я работаю над настройкой Amazon Cloud Front и играю с настройками управления кешем. здесь явно указано , что amazon-cloudfront не будет следовать за 301 и 307.

Мне интересно, есть ли документация о том, будет ли выполняться перенаправление, если источник вернет 308?

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Существует некоторая дополнительная документация здесь по обработке перенаправлений:

Если вы измените местоположение объекта на исходном сервере, вы можете настроить свой веб-сервер для перенаправления запросовна новое место.После настройки перенаправления, когда зритель впервые отправляет запрос на объект, CloudFront Front отправляет запрос к источнику, а источник отвечает перенаправлением (например, 302 Временно перемещено).CloudFront кэширует перенаправление и возвращает его зрителю.CloudFront не выполняет перенаправление.

Вы можете настроить свой веб-сервер для перенаправления запросов в одно из следующих мест:

The new URL of the object on the origin server. When the viewer follows the redirect to the new URL, the viewer bypasses CloudFront

и перейти прямо к источнику.В результате мы рекомендуем не перенаправлять запросы на новый URL-адрес объекта в источнике.

The new CloudFront URL for the object. When the viewer submits the request that contains the new CloudFront URL, CloudFront gets the

объект из нового местоположения в вашем источнике, кэширует его в крайнем местоположении и возвращаетвозразить зрителю.Последующие запросы на объект будут обслуживаться пограничным местоположением.Это позволяет избежать задержки и нагрузки, связанной со зрителями, запрашивающими объект от источника.Однако за каждый новый запрос объекта будет взиматься плата за два запроса к CloudFront.

Но поскольку 301 и 308 единственная разница заключается в том, что 308

не позволяет изменить метод запроса с POST на GET

я бы предположил, что он обрабатывается как 301.

0 голосов
/ 02 июня 2018

Кажется немного странным, что 302 и 308 здесь не упоминаются, но CloudFront не выполняет перенаправления.Они сохраняются в кеше и возвращаются в браузер.

Вы можете перехватывать перенаправления с помощью триггера ответа Lambda @ Edge, но типичное применение для этого - переписать заголовок Location и отправить браузер куда-нибудь в другое место.чем там, где это было бы иначе.

Для небольших ответов можно фактически выполнить перенаправление с помощью триггера Origin Response, который делает запрос с помощью HTTP-клиента Node, но это поддерживает только ответы до 1 МБ вобщий размер, и, вероятно, не будет работать так же просто, как позволить браузеру следовать перенаправлению.

...