Перенаправление с шаблоном HTTPS в AWS

Какой самый простой способ реализовать перенаправление с шаблоном HTTPS в AWS?

То есть я хочу, чтобы fake13124.example.com (и любые другие подобные варианты) перенаправлялся на example.com, но не на realsub.example.com.

Использует ли AWS способ записи Route53 с подстановочными знаками и ALB? Что для этого составляет ~ 150 долларов в год?

Должны быть более простые способы перенаправления, чем этот?

1
задан 11 November 2019 в 04:10
1 ответ

Можно сделать это с Маршрутом 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 на запрос заряжается, оба из которых должны быть незначительными, пока Вы не входите в сотни тысяч запросов.

1
ответ дан 3 December 2019 в 22:58

Теги

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