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

Веб-сайт HSTS Preload List Submission имеет очень специфические предварительные условия, запрещающие объединение изменений протокола и перенаправления в один шаг (классический пример - перенаправление запросов для 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
1
задан 6 June 2018 в 00:03
1 ответ

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

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

Создайте запрос на аннулирование CloudFront, используя шаблон /*. После завершения запроса об устранении недействительности, как показано в консоли, выполните повторную проверку. Если вы все еще видите неожиданное поведение, пожалуйста, запишите заголовки ответа и отредактируйте их в вопросе.

.
1
ответ дан 3 December 2019 в 23:15

Теги

Похожие вопросы