Перенаправьте запросы без www на www на Amazon Route 53

Я хочу перенаправить все запросы с example.com в www.example.com,

Желательно, чтобы это происходило на уровне DNS. Я попытался использовать записи PTR, но это просто не удается, возвращая 404.

wwww.example.com ALIAS для эластичного балансировщика нагрузки

Какой самый простой способ добиться этого?

5 ответов

Решение

Если вы уже используете Route 53, вы можете использовать их собственный псевдоним "запись" для решения этой проблемы. При использовании стандартного DNS вы вообще не можете этого сделать, и вам нужно, чтобы веб-сайт отправлял 301 редирект. Конечно, вам все равно нужно отправить редиректы 301 или иметь дело с тем фактом, что некоторые запросы будут поступать без www (хотя вы должны отправлять 301 по причинам SEO).

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

Из комментариев

Чтобы улучшить ответ, вот что мы сделали, чтобы это работало:

  • Настроить ведро - не имеет значения, как его зовут и должно разрешить публикацию.
  • В корзине нажмите Свойства и выберите статический хостинг. Нажмите перенаправить все запросы на другое имя хоста и введите сайт, на который вы хотите перейти трафик.
  • Скопируйте конечную точку имени сегмента и перейдите в размещенную зону в консоли Route53 и добавьте CNAME с псевдонимом No к URL-адресу, с которого необходимо перенаправиться, и вставьте конечную точку сегмента в качестве ее значения.

Для псевдонима DNS вам просто нужно добавить запись CNAME или A в DNS. Смотрите мой ответ здесь: Как мне перенаправить www на не-www в Route53?

Для перезаписи URL (например, при перенаправлении клиентов на другой адрес) вам нужна логика перезаписи URL, выполняемая на веб-сервере. Есть несколько способов сделать это, и это зависит от того, какой веб-сервер вы используете. Наиболее популярным является использование mod_rewrite с apache. Этот сайт изобилует вопросами mod_rewrite, несколько запросов должны получить то, что вы хотите.

Вы можете сделать это с помощью ведра s3. Шаги наклеены ниже:

Шаг 1. Создайте ведро s3.

Шаг 2. Сделать ведро как статический хостинг с редиректом.

Шаг 3. Измените запись AWS Route 53 для домена без www.

A - Адрес IPv4 -> Псевдоним Да -> Цель псевдонима (Выберите конечную точку сегмента s3 из раскрывающегося списка).

Шаг 4. Сохраните набор записей.

AWS Route53 в настоящее время не предоставляет поддержку для перенаправления того, что в настоящее время известно как запись APEX (корневой домен), на другое доменное имя, хотя они работают над решением.

Я добился этого, создав запись A (псевдоним), которая указывает мой корневой домен (devopsfolks.com) на IP-адрес моего решения, размещенного на WP... И ответ - да, если IP-адрес изменится, вам понадобится изменить псевдоним. Однако провайдер гарантировал мне, что IP-адрес является фиксированным, если только им не нужно выполнять некоторые виды аварийного восстановления и менять оборудование, и в этом случае они объединят прокси-сервер для выполнения перенаправлений, предоставляя клиентам 45 дней для изменения их сопоставления.

Если ваш веб-сайт хранится в корзине S3, вы можете выполнить следующий шаг:

  1. Создайте два сегмента S3 с точным именем домена (example.com и ).
  2. Включить политику сегмента для общего доступа
  3. Включите статический веб-сайт для обоих доменов, однако мы настроим перенаправление для example.com.
  4. Создайте два CloudFront для двух сегментов S3. Создайте две записи псевдонимов A для example.com и www.example.comwww.example.com и направьте их в два CloudFront соответственно.

Для получения более подробной информации вы можете следовать документу: Разместите статический веб-сайт на Amazon s3 и CloudFront.

Другие вопросы по тегам