Перенаправьте запросы без 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, вы можете выполнить следующий шаг:
- Создайте два сегмента S3 с точным именем домена (example.com и ).
- Включить политику сегмента для общего доступа
- Включите статический веб-сайт для обоих доменов, однако мы настроим перенаправление для example.com.
- Создайте два CloudFront для двух сегментов S3. Создайте две записи псевдонимов A для example.com и www.example.comwww.example.com и направьте их в два CloudFront соответственно.
Для получения более подробной информации вы можете следовать документу: Разместите статический веб-сайт на Amazon s3 и CloudFront.