Поддержка HTTPS-перенаправления URL с помощью одного дистрибутива CloudFront

У меня есть доменformulagrid.com.

Я использую AWS S3 для размещения его в качестве статического веб-сайта. Моя проблема заключалась в том, что я хотел перенаправить поддомен www в пустой домен следующим образом:

https://www.formulagrid.com -> https://formulagrid.comhttp://www.formulagrid.com -> https://formulagrid.com

Amazon обеспечивает перенаправление URL-адресов из сегмента S3 в сегмент S3, если оба настроены для статического хостинга веб-сайтов.

Итак, что мне нужно было сделать, это настроить два ведра:

formulagrid.com - актуальный сайтwww.formulagrid.com - существует исключительно для перенаправления на фактический сайт

Это прекрасно работает, если вы работаете только по HTTP, но S3 абсолютно не поддерживает HTTPS.

Для подключения к статическому веб-сайту S3 можно использовать HTTPS, настроив дистрибутив CloudFront перед корзиной S3. Однако CloudFront, хотя он и обеспечивает HTTPS, в основном существует для функционирования в качестве CDN.

Изначально у меня была единая установка дистрибутива CloudFront перед корзиной S3, содержащей фактический сайт. Все казалось работоспособным: сайт был распределен по CDN, на нем был HTTPS, а HTTP перенаправлен на HTTPS.

Было одно исключение.

https://www.formulagrid.com была полностью сломанная страница

После попытки найти источник ошибки некоторое время, я понял, что это потому, что он не проходил через CDN, и попытка получить доступ к S3 через HTTPS не работает.

В конце концов, мне пришлось предоставить еще один дистрибутив, чтобы сидеть передwww S3 bucket, чтобы он был доступен через HTTPS. Вот тут-то и возникают мои опасения, потому что, как я упоминал ранее, главная цель CloudFront - быть CDN.

Для меня не имеет никакого смысла иметь CDN напротив URL, который просто перенаправляет на другой. Также возникает вопрос о том, будет ли мне взиматься двойная плата за каждый запрос, которыйwww субдомен, потому что он попал в другой дистрибутив CloudFront после перенаправления.

Это разочаровывает, потому что я пытаюсь создать «серверную» архитектуру с использованием Lambda, и мне нужно подготовить экземпляр EC2 только для того, чтобы перезаписать URL, если это не мое последнее средство.

Решение будет тривиальным, если Amazon предложит какую-либо форму переписывания URL-адреса или если само CloudFront выполнит перенаправление, но, насколько я знаю, ни один из них не существует (дайте мне знать, если они это сделают).

Я новичок в AWS, поэтому я надеюсь, что кто-то с большим опытом может направить меня в правильном направлении.