Какой самый простой способ реализовать перенаправление с шаблоном HTTPS в AWS?
То есть я хочу, чтобы fake13124.example.com (и любые другие подобные варианты) перенаправлялся на example.com, но не на realsub.example.com.
Использует ли AWS способ записи Route53 с подстановочными знаками и ALB? Что для этого составляет ~ 150 долларов в год?
Должны быть более простые способы перенаправления, чем этот?
Можно сделать это с Маршрутом 53, CloudFront, менеджер по Сертификату Amazon и S3.
Создают пустой блок в Amazon S3. Выберите регион около большинства Ваших средств просмотра. Имя блока не имеет значения.
Активируют опцию веб-хостинга на блоке. Отметьте имя хоста конечной точки веб-сайта в консоли. Это будет в общей форме ${bucket}.s3-website.${region}.amazonaws com
.
Определяют следующее правило маршрутизации для блока.
<RoutingRules>
<RoutingRule>
<Condition>
<KeyPrefixEquals></KeyPrefixEquals>
</Condition>
<Redirect>
<Protocol>https</Protocol>
<HostName>example.com</HostName>
<ReplaceKeyWith></ReplaceKeyWith> <!-- remove this line to preserve the original path after redirect -->
</Redirect>
</RoutingRule>
</RoutingRules>
Запросы, прибывающие в имя хоста конечной точки для блока, будут перенаправлены к https://example.com
. Путь не будет сохранен, если Вы не удалите обозначенную строку.
, Но Вы хотите другие имена хостов, а именно, большинство из *.example.com
. И HTTPS.
Создают Wildcard-сертификат в Менеджере по сертификату Amazon (ACM) в us-east-1 для *.example.com
. Это должно быть us-east-1 независимо от региона блока, потому что мы будем использовать CloudFront, и это - то, где CloudFront взаимосвязывает к ACM.
Создают новое распределение CloudFront, с помощью нового сертификата ACM, с помощью имени хоста конечной точки веб-сайта блока в качестве пользовательского ( не S3) сервер источника, и указывая *.example.com
как альтернативное доменное имя распределения (CloudFront также называет это "CNAME" даже при том, что это не то, что это). Выберите перенаправляют все Запросы HTTP к HTTPS.
Берут присвоенное имя хоста dzzzexample.cloudfront.net распределения и используют его для создания записи (для *.example.com
, Псевдоним = Да) в Маршруте 53 в example.com размещенная зона.
Ожидают распределения для движения в Развернутое состояние.
Маршрут 53 ответит на любой *.example.com
запрос не соответствие другое существующее (или будущее) запись в зоне с IP-адресами ближайшего края CloudFront.
CloudFront перенаправит HTTP к HTTPS и будет использовать сертификат ACM. CloudFront отправит все запросы к блоку (если это, окажется, не кэшировало ответ на предшествующий идентичный запрос), и S3 будет всегда возвращать ответ перенаправления, потому что <KeyPrefixEquals></KeyPrefixEquals>
на самом деле говорит S3 проверять, являются ли крайние левые 0 символов в ключе нужного объекта пустой строкой, которой это всегда будет и перенаправлять, когда то условие будет верно.
Принятие Вы уже используете Маршрут 53, новая стоимость возвращения (принимающий нулевой трафик) составляет 0$. Вы будете платить CloudFront на запрос и зарядам пропускной способности, и S3 на запрос заряжается, оба из которых должны быть незначительными, пока Вы не входите в сотни тысяч запросов.