Назад | Перейти на главную страницу

Как настроить предварительные условия перенаправления HSTS с помощью CloudFront?

В Веб-сайт для подачи списка предварительной загрузки HSTS имеет очень специфические предпосылки, которые запрещают объединение изменений протокола и перенаправления в один шаг (классический пример - перенаправление запросов для http://example.com прямо к https://www.example.com проваливает их тест - сначала должно произойти обновление протокола до HTTPS, затем субдомен www может быть добавлен на дискретном этапе). Можно ли соблюдать эти правила для сайтов, размещенных в Amazon CloudFront?

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

У меня CloudFront настроен на «Перенаправление HTTP на HTTPS» в соответствии с поведением по умолчанию, и это отлично работает для всех HTTP-запросов, однако запросы к https://example.com первое перенаправление на протокол пониженной версии http://www.example.com перед обновлением до HTTPS, и здесь я застрял. Мне нужно по-разному обрабатывать запросы HTTP и HTTPS для домена второго уровня.

Для ясности вот шаблон перенаправления, которого я хочу достичь:

http://example.com > https://example.com > https://www.example.com
http://www.example.com > https://www.example.com
https://example.com > https://www.example.com
https://www.example.com

А вот что сейчас делает CloudFront с третьей строкой (протокол понизить рейтинг), что приводит к ошибке отправки предварительной загрузки HSTS:

http://example.com > https://example.com > https://www.example.com
http://www.example.com > https://www.example.com
https://example.com > http://www.example.com > https://www.example.com
https://www.example.com

Я подозреваю, что вы могли упустить из виду необходимость очистки кеша CloudFront после изменения целевого протокола перенаправления на https, потому что описанная конфигурация (в комментариях) должна работать должным образом - установка «протокола» на «https» в конфигурации корзины перенаправления должен не сделай это:

https://example.com > http://www.example.com > https://www.example.com

Создать Запрос на аннулирование CloudFront используя шаблон /*. Как только запрос invalidarion будет завершен, как показано в консоли, повторите попытку. Если вы по-прежнему видите непредвиденное поведение, запишите заголовки ответов и отредактируйте их в вопросе.