Согласно RFC1912 раздел 2.4:
A CNAME record is not allowed to coexist with any other data. In
other words, if suzy.podunk.xx is an alias for sue.podunk.xx, you
can't also have an MX record for suzy.podunk.edu, or an A record, or
even a TXT record. Especially do not try to combine CNAMEs and NS
records like this!:
podunk.xx. IN NS ns1
IN NS ns2
IN CNAME mary
mary IN A
RFC имеет смысл, поскольку сервер имен не знает, нужно ли ему следовать за CNAME или отвечать фактической записью, с которой CNAME перекрывается. bar.com
является зоной, поэтому для ее имени неявно есть запись SOA bar.com
. У вас не может быть одновременно записи SOA и CNAME с одним и тем же именем.
Однако, учитывая, что записи SOA обычно используются только для обслуживания зоны, эти ситуации, когда вы хотите предоставить CNAME на вершине зоны, довольно распространены. Несмотря на то, что RFC запрещает это, многие инженеры хотели бы иметь такое поведение, как: «следуйте за CNAME, если запрос явно не запрашивает запись SOA». Вот почему Route 53 предоставляет alias records
. Это особая функция Route 53, которая предлагает именно ту функциональность, которая вам нужна. Взгляните на http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingAliasRRSets.html
A
запись. Что делать теперь?bar.com
. (Чтобы это работало, имя должно совпадать с именем домена, с которого вы хотите выполнить перенаправление!)bar.com
S3 Bucket перейдите кProperties
>Static Website Hosting
, выберитеRedirect all requests to another host name
и введитеfoo.com
текст в текстовое поле.Hosted Zone
ФОРАХbar.com
, нажмитеCreate Record Set
. ВыберитеA - IPv4 address
по типу. НажмитеYes
дляAlias
. Щелкните текстовое поле дляAlias Target
.bar.com
должен быть указан под-- S3 Website Endpoints --
. Сохраните запись. Подождите несколько минут, и у вас должна быть настройка перенаправления для перенаправления запросов с bar.com на foo.com.Вы можете использовать этот же метод для перенаправления «голого» домена на поддомен (например, www). Я использую это в случаях, когда www.foo.com должен быть CNAME, поэтому я перенаправляю с foo.com на www.foo.com тем же методом. Если foo.com является записью A, вы можете использовать эту технику для перенаправления с www.foo.com на foo.com.
ПРИМЕЧАНИЕ: этот метод будет пересылать с полным путем. т.е. http://bar.com/test будет перенаправлен на http://foo.com/test .
источник
На Route53 вам нужно создать запись A, а не запись CNAME , и создать под ней псевдоним.
Из комментария @ewalshe к ответу Александру Куку, если вы пришли сюда, пытаясь настроить API-шлюз с собственным доменным именем и иметь URL-адрес распространения Cloudfront.
источник
A
запись, и обновление сертификата не удалось, и aws отправил мне электронное письмо с предложением создатьCNAME
... что делать?tldr; Вы должны передать полное доменное имя в качестве имени ResourceRecordSet.
У меня была такая же проблема с использованием этого оператора c # snip:
В данном случае image.Name == "Listener"
Как только я изменил его на:
теперь передается значение: "Listener.fully.qualified.com"
Теперь это работает.
источник
Вы должны использовать DNAME вместо CNAME. Запись CNAME может только перенаправить метку на другую метку.
Когда вы говорите о перенаправлении доменных имен вместо меток, вы должны использовать DNAME
Это также означает, что все записи A, NS и другие записи должны быть удалены. Это нужно настроить в домене foo.com.
источник
DNAME
определено в RFC 2672 . Не могли бы вы объяснить, как это связано с OP? Route53 не позволяет удалять записи SOA или NS, по крайней мере, из стандартного интерфейса, а DNAME недоступен.