Пытаюсь настроить пересылку в Amazon Route53. Моя последняя служба DNS (Nettica) позволяла мне направлять запросы с aws.example.com на https://myaccount.signin.aws.amazon.com/console/.
Поддерживается ли эта функция в Route53?
Как Nettica этого добивается? Вставляет ли он специальные записи A, CNAME, PTR или TXT?
dns
forwarding
amazon-route53
Саурав
источник
источник
Ответы:
Я столкнулся с той же проблемой, что описал Саурав, но мне действительно нужно было найти решение, которое не требовало бы ничего, кроме Route 53 и S3. Я создал для своего блога руководство с подробным описанием того, что я сделал.
Вот что я придумал.
Задача
Используя только инструменты, доступные в Amazon S3 и Amazon Route 53, создайте URL Redirect, который автоматически перенаправляет http://url-redirect-example.vivekmchawla.com на страницу входа в Консоль AWS с псевдонимом «MyAccount», расположенную по адресу https. : //myaccount.signin.aws.amazon.com/console/ .
Это руководство научит вас настраивать переадресацию URL-адресов на любой URL-адрес, а не только на URL-адреса Amazon. Вы узнаете, как настроить переадресацию в определенные папки (например, «/ console» в моем примере) и как изменить протокол переадресации с HTTP на HTTPS (или наоборот).
Шаг 1. Создайте корзину S3
Откройте консоль управления S3 и нажмите «Create Bucket».
Шаг 2. Назовите свою корзину S3
Выберите название сегмента. Этот шаг действительно важен! Вы должны назвать сегмент ТОЧНО таким же, как URL-адрес, который вы хотите настроить для пересылки. В этом руководстве я буду использовать имя url-redirect-example.vivekmchawla.com.
Выберите любой регион, который вам больше всего подходит. Если вы не знаете, оставьте значение по умолчанию.
Не беспокойтесь о настройке ведения журнала. Когда будете готовы, просто нажмите кнопку «Создать».
Шаг 3. Включите статический хостинг веб-сайтов и укажите правила маршрутизации
Вставьте следующий фрагмент XML целиком.
Если вам интересно, что делает указанный выше 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 и перейдите к наборам записей для вашей размещенной зоны (доменное имя)
Шаг 6. Нажмите кнопку «Создать набор записей».
При нажатии на «Создать набор записей» в правой части консоли управления Route53 откроется окно «Создать набор записей».
Шаг 7. Создайте набор записей CNAME
В поле «Имя» введите часть имени хоста URL-адреса, который вы использовали при присвоении имени корзине S3. «Часть имени хоста» URL-адреса - это все, что находится слева от имени вашей размещенной зоны. Я назвал свою корзину S3 «url-redirect-example.vivekmchawla.com», а мою размещенную зону - «vivekmchawla.com», поэтому мне нужно ввести часть имени хоста «url-redirect-example».
Выберите «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.
Ура!
источник
Служба поддержки AWS предложила более простое решение. По сути, это та же идея, предложенная @Vivek M. Chawla, но с более простой реализацией.
AWS S3:
aws.example.com
Redirect all requests to another host name
и введите свой URL:https://myaccount.signin.aws.amazon.com/console/
AWS Route53:
Yes
. ЩелкнитеAlias Target
поле и выберите корзину S3, созданную на предыдущем шаге.Ссылка: Как перенаправить домены с помощью Amazon Web Services
Официальная документация AWS: есть ли способ перенаправить домен на другой домен с помощью Amazon Route 53?
источник
Redirect all requests to another host name
вариант еще существует? Я не вижу этого, когда захожу в свойства корзины.Я смог использовать nginx для обработки 301 перенаправления на страницу входа в aws.
Перейдите в папку conf nginx (в моем случае
/etc/nginx/sites-available
я создаю символическую ссылку/etc/nginx/sites-enabled
для включенных файлов conf).Затем добавьте путь перенаправления
Если вы используете nginx, у вас, скорее всего, будут дополнительные серверные блоки (virtualhosts в терминологии apache) для обработки вершины вашей зоны (example.com) или того, что у вас есть. Убедитесь, что один из них установлен в качестве сервера по умолчанию.
В Route 53 добавьте
A record
foraws.example.com
и установите в качестве значения тот же IP-адрес, который используется для вершины вашей зоны.источник
Обновить
Хотя мой исходный ответ ниже по-прежнему действителен и может быть полезен для понимания причины, по которой переадресация URL-адресов на основе DNS недоступна через Amazon Route 53 из коробки, я настоятельно рекомендую проверить чрезвычайно умное косвенное решение Vivek M. Chawla через представленное тем временем Amazon S3 поддерживает перенаправление веб-сайтов и обеспечивает меньше автономных серверов и, следовательно, бесплатное решение в рамках AWS только так.
Оригинальный ответ
Для этого Nettica должна использовать специальное решение для перенаправления, вот в чем проблема:
Вы можете создать псевдоним CNAME, например
aws.example.com
дляmyaccount.signin.aws.amazon.com
, однако DNS не предоставляет официальной поддержки псевдонима подкаталога, какconsole
в этом примере.https://myaccount.signin.aws.amazon.com/
(я только что попробовал), потому что он сразу же решит вашу проблему и имеет большой смысл; кроме того, на их стороне должно быть довольно легко настроить.По этой причине несколько провайдеров DNS, по-видимому, реализовали собственное решение, позволяющее перенаправлять в подкаталоги; Рискну предположить, что они в основном упрощают псевдоним CNAME для собственного домена и снова перенаправляют оттуда в конечный пункт назначения через немедленное перенаправление HTTP 3xx .
Поэтому для достижения того же результата вам потребуется запустить HTTP-службу, выполняющую эти перенаправления, что, конечно, не является простым решением, на которое можно было бы надеяться. Может быть / надеюсь, кто-то все же сможет придумать более разумный подход.
источник
Если у вас все еще возникают проблемы с простым подходом, создав пустое ведро, затем в
Redirect all requests to another host name
разделе Статический веб-хостинг в свойствах через консоль. Убедитесь, что вы установили 2 записи A в route53, одну дляfinal-destination.com
и одну дляredirect-to.final-destination.com
. Настройки для каждого из них будут идентичны, но имя будет другим, поэтому оно будет соответствовать именам, которые вы задали для своих сегментов / URL-адресов.источник