Ответ 1
Я столкнулся с одной и той же проблемой, описанной Сауравом, но мне действительно нужно найти решение, которое не требовало ничего, кроме Route 53 и S3. Я создал руководство для моего блога, в котором подробно описывал, что я сделал.
Вот что я придумал.
Цель
Используя только инструменты, доступные в Amazon S3 и Amazon Route 53, создайте перенаправление URL, которое автоматически переадресует http://url-redirect-example.vivekmchawla.com на знак AWS Console на странице с псевдонимом "MyAccount", расположенным в https://myaccount.signin.aws.amazon.com/console/.
В этом руководстве рассказывается, как настроить перенаправление URL-адресов на любой URL-адрес, а не только на Amazon. Вы узнаете, как настроить пересылку в определенные папки (например, "/console" в моем примере) и как изменить протокол перенаправления с HTTP на HTTPS (или наоборот).
Шаг первый: создайте свой ковш S3
Откройте консоль управления S3 и нажмите "Создать ведро".
Шаг второй: назовите свой ковш S3
-
Выберите имя ковша. Этот шаг действительно важен! Вы должны указать ведро ТОЧНО так же, как URL, который вы хотите настроить для пересылки. В этом руководстве я буду использовать имя "url-redirect-example.vivekmchawla.com" .
-
Выберите, какой регион лучше всего подходит для вас. Если вы не знаете, сохраните значение по умолчанию.
-
Не беспокойтесь о настройке ведения журнала. Просто нажмите кнопку "Создать", когда будете готовы.
Шаг 3: Включите статический хостинг веб-сайтов и укажите правила маршрутизации
- В окне свойств откройте настройки для "Статического хостинга веб-сайта".
- Выберите вариант "Включить хостинг веб-сайтов".
- Введите значение для "Index Document". Этот объект (документ) никогда не будет обслуживаться S3, и вам никогда не придется его загружать. Просто используйте любое имя, которое вы хотите.
- Откройте настройки для "Изменить правила перенаправления".
-
Вставьте в него весь фрагмент XML.
<RoutingRules> <RoutingRule> <Redirect> <Protocol>https</Protocol> <HostName>myaccount.signin.aws.amazon.com</HostName> <ReplaceKeyPrefixWith>console/</ReplaceKeyPrefixWith> <HttpRedirectCode>301</HttpRedirectCode> </Redirect> </RoutingRule> </RoutingRules>
Если вам интересно, что делает вышеприведенный XML, посетите Документацию AWM для "Синтаксис для указания правил маршрутизации" . Метод бонуса (не описанный здесь) пересылает определенные страницы на хост-узел назначения, например http://redirect-destination.com/console/special-page.html
. Прочтите элемент <ReplaceKeyWith>
, если вам нужна эта функциональность.
Шаг 4: Запишите свой ковер перенаправления "Конечная точка"
Обратите внимание на "конечную точку" статического веб-сайта, которую Amazon автоматически создает для этого ведра. Это понадобится вам позже, поэтому выделите весь URL-адрес, затем скопируйте и вставьте его в блокнот.
ВНИМАНИЕ! На этом этапе вы можете щелкнуть по этой ссылке, чтобы проверить правильность введенных правил переадресации, но будьте осторожны! Вот почему...
Скажем, вы указали неправильное значение внутри тегов <Hostname>
в своих Правилах перенаправления. Возможно, вы случайно набрали myaccount.amazon.com
вместо myaccount.signin.aws.amazon.com
. Если вы нажмете ссылку для проверки URL-адреса конечной точки, AWS с радостью перенаправит ваш браузер на неправильный адрес!
Заметив вашу ошибку, вы, вероятно, отредактируете <Hostname>
в своих правилах перенаправления, чтобы исправить ошибку. К сожалению, когда вы попытаетесь снова щелкнуть ссылку, вы, скорее всего, перенаправитесь обратно на неправильный адрес! Даже если вы зафиксировали запись <Hostname>
, ваш браузер кэширует предыдущую (неправильную!) Запись. Это происходит из-за того, что мы используем HTTP 301 (постоянный) перенаправление, которые браузеры, такие как Chrome и Firefox, будут кэшировать по умолчанию.
Если вы копируете и вставляете URL-адрес конечной точки в другой браузер (или очищаете кеш в своем текущем), вы получите еще один шанс увидеть, будет ли ваша обновленная запись <Hostname>
окончательно правильной.
Чтобы быть в безопасности, если вы хотите протестировать URL-адрес конечной точки и правила переадресации, вы должны открыть приватный сеанс просмотра, например "Режим инкогнито" в Chrome. Скопируйте, вставьте и проверьте URL-адрес конечной точки в режиме инкогнито, и все кеширование исчезнет после закрытия сеанса.
Шаг 5: Откройте консоль управления Route53 и перейдите к наборам записей для вашей размещенной зоны (доменное имя)
- Выберите Hosted Zone (доменное имя), которое вы использовали при создании своего ведра. Поскольку я назвал свое ведро "url-redirect-example.vivekmchawla.com" , я собираюсь выбрать хостинговую зону vivekmchawla.com.
- Нажмите кнопку "Перейти к записи".
Шаг 6: Нажмите кнопку "Создать запись"
Нажав "Создать набор записей", вы откроете окно "Создать запись" в правой части консоли управления Route53.
Шаг 7. Создание набора записей CNAME
-
В поле "Имя" введите часть имени хоста URL-адреса, которую вы использовали при именовании вашего ведра S3. "URL-адрес хоста" URL-адреса - это все, что указано в поле "ЛЕВЫЙ" имени вашей хостинговой зоны. Я назвал свой ведро S3 "url-redirect-example.vivekmchawla.com" , а моя "Хостинговая зона" - "vivekmchawla.com", поэтому часть хоста, которую мне нужно ввести, - "url-redirect-example".
/li > -
Выберите "CNAME - Каноническое имя" для типа этого набора записей.
-
Для значения вставьте URL-адрес конечной точки ведра S3, который мы создали на шаге 3.
-
Нажмите кнопку "Создать запись" . Предполагая, что ошибок нет, теперь вы сможете увидеть новую запись CNAME в списке хостинговой зоны наборов записей.
Шаг 8: проверьте новый URL-адрес перенаправления
Откройте новую вкладку браузера и введите URL-адрес, который мы только что установили. Для меня это http://url-redirect-example.vivekmchawla.com. Если все работает правильно, вы должны быть отправлены непосредственно на страницу входа AWS.
Поскольку мы использовали псевдоним myaccount.signin.aws.amazon.com
как наш целевой URL-адрес для перенаправления, Amazon точно знает, к какой учетной записи мы пытаемся получить доступ, и берем нас прямо там. Это может быть очень удобно, если вы хотите дать короткую, чистую, фирменную ссылку для входа AWS на сотрудников или подрядчиков.
Заключение
Я лично люблю различные сервисы AWS, но если вы решили перенести управление DNS на Amazon Route 53, отсутствие простой переадресации URL может расстраивать. Я надеюсь, что это руководство помогло упростить настройку переадресации URL-адресов для ваших размещенных зон.
Если вы хотите узнать больше, ознакомьтесь со следующими страницами с сайта документации AWS.
- Пример: настройка статического веб-сайта с использованием пользовательского домена
- Настроить ведро для хостинга веб-сайта
- Создание домена, использующего маршрут 53
- Создание, изменение и удаление записей ресурсов
Ура!