Подтвердить что ты не робот

Cloudfront перенаправляет www на голый домен с помощью ssl

Простите меня, если это было задано раньше, есть ряд ресурсов, которые касаются этого, но ничего не подходит для моего конкретного (https) прецедента.

Я пытаюсь перенаправить https://www.example.com в https://example.com. Аналогично, это должно работать для http://www.example.com в https://example.com.

Я установил облачный дистрибутив с происхождением ведро s3, перенаправил http на https, добавил cname example.com и добавил мой сертификат домена (который работает как для субдомена www, так и для голого домена).

Я также создал отдельный дистрибутив с именем cname для www.example.com, добавил сертификат и установил источник в отдельный ведро s3, которое в (статический хостинг веб-сайтов) перенаправляет все запросы на https://example.com.

Перенаправление работает как ожидается http://example.com в https://example.com, однако http (s)://www.example.com http://example.com не работает.

В маршруте 53 у меня есть корневой домен с псевдонимом первого распределения облачной сети, а www - псевдоним со вторым.

4b9b3361

Ответ 1

Я нашел решение благодаря этому ответу: Amazon S3 Redirect и Cloudfront

Короче:

Cloudfront не соблюдает настройку правил перенаправления в S3, если источником является только идентификатор ведра. Вместо этого мне пришлось установить источник в предоставленное имя хоста s3 static host.

Ответ 2

Чтобы разместить веб-сайт на AWS, чтобы:

https://www.example.com, http://www.example.com и http://example.com все перенаправляются на https://example.com

вам нужно:

  • Создайте два ведра S3 с именем: example.com и www.example.com.

  • Включите статический веб-хостинг на этих двух ведрах.

  • Настройте перенаправление в ведре www.example.com на: https://example.com. В свойствах ковша выберите Static Website Hosting = > Перенаправить все запросы на другое имя хоста. Не забудьте указать URL-адрес с помощью https://prefix!

  • Для этих ковшей создайте два CloudFront Distributions. Каждое из этих распределений указывает на соответствующее ведро:

  • Для доменного имени Origin укажите ведомые URL-адреса, указанные в разделе "Хостинг веб-сайтов". URL-адреса должны иметь форму (или аналогичную): example.com.s3-website-us-west-1.amazonaws.com

    • В обоих дистрибутивах перенаправление HTTP на HTTPS.

    • НЕ ИСПОЛЬЗУЙТЕ URL, ПРЕДЛАГАЕМЫЙ АМАЗОНСКИМ АВТОКОМПЛЕТОМ!

    • НЕ УСТАНАВЛИВАЙТЕ УСТРОЙСТВО ЦИФРОВОГО ЦЕНА СОБСТВЕННОСТИ!

  • Настройте DNS, установив записи A на www.example.com и example.com, чтобы указать на соответствующие дистрибутивы CloudFront.

Почему это работает? CloudFront обеспечивает переадресацию с HTTP на HTTPS в обоих случаях (с и без www). Ведро для www.example.com обеспечивает перенаправление на example.com. Если у вас не было этого дистрибутива, ведро не сможет перенаправить запрос на https://www.example.com. Сам S3 не поддерживает HTTPS для статического хостинга веб-сайтов.