У меня есть синтетический рекорд, указывающий example.com
к www.example.com
и это работает. У меня также есть указатель CNAME a.example.com
на веб-сайт, на котором размещены мои изображения, и это работает.
я хочу www.example.com
перенаправить на a.example.com
, пока я создаю веб-сайт для развертывания на www.example.com
.
Я использовал CNAME из www.example.com
к a.example.com
и это не сработало. Все, что я читаю, говорит, что CNAME - правильный инструмент для этого, так что же происходит?
update: чтобы уточнить, я устанавливаю эти записи в Namecheap (но это должно относиться ко всем другим менеджерам доменов, таким как Google Domains), а не в Windows Server, Apache или NGINX.
Так что вы можете проверить мои комментарии, чтобы получить немного информации о том, как решить вашу проблему. Но я полагаю, что более подходящим будет окончательный ответ на вопрос, как работают записи DNS и как добиться перенаправления, которое вы ищете. RFC, вероятно, являются правильным способом доступа к источникам сайта, но я люблю объяснять это своими собственными примерами. Поэтому я предоставлю снимки экрана с моего сервера Windows 2016 Active Directory, который также запускает DNS локально на сервере. Теперь, если вы используете что-то вроде bind в Linux / Windows, тогда концепции должны сохраняться, но, очевидно, это другой подход к настройке.
Таким образом, на вашем DNS-сервере будет настроена зона прямого просмотра для вашего домена. Мой для этого экземпляра - digiecho.xyz, как вы можете видеть на скриншоте ниже:
В зоне поиска вы можете увидеть, что у меня есть набор записей A, указывающих на IP-адреса. По моему опыту, это наиболее распространенные типы записей. Итак, у вас должна быть одна запись A, где ваш www.domain.com указывает на какой-то IP. В моем примере я собираюсь использовать свою запись A для VC01.
CNAME или каноническое имя позволяет связать одно имя с другим. Я собираюсь создать запись CNAME vcenter.digiecho.xyz и указать ее на мою запись A VC01 (см. Снимок экрана ниже для примера создания записи и информации о CNAME):
https://support.dnsimple.com/articles/cname-record/
Затем вы можете использовать инструменты DNS, такие как dig или nslookup, для устранения неполадок, что происходит. Поскольку все это находится в моей внутренней сети, я просто использовал nslookup с другого сервера на моем виртуальном хосте, чтобы показать некоторые соответствующие результаты, которые помогут вам в устранении неполадок:
Как видите, он не только указывает мне истинный канонический домен, на который указывает псевдоним. Однако он должен сообщить серверу, который сообщает о записи. Поэтому, если у вас есть подобная конфигурация «главный-подчиненный» в вашей среде DNS, вы захотите убедиться, что передачи зон произошли от главного устройства ко всем подчиненным, чтобы убедиться, что все они имеют правильную конфигурацию. Если вы используете Linux, просто найдите параметры команды. Но на самом деле этих базовых проверок DNS и устранения неполадок должно быть достаточно для решения проблемы CNAME.
Запись CNAME не должна указывать на другую запись CNAME.
Узнай, где твой a.example.com
CNAME действительно указывает на, а затем установите свой www.example.com
CNAME также указывает прямо на это.
name optional_TTL CLASS RR canonical name
www.example.net. 3600 IN CNAME a.example.com.
Упрощенный DNS CNAME
запись не делает ничего, кроме указания DNS-записи на каноническое имя другого хоста, используя DNS-имя этого хоста, а не создавая A
ввод IP-адреса этого хоста.
После этого изменения DNS обычно необходимо перенастроить a.example.com
и уведомить запущенные там службы о том, что к ним можно получить доступ с помощью дополнительного имени хоста www.example.net.
а не только через a.example.com
.
Если вы этого не сделаете, все может сработать, например, веб-сервер, на котором запущен простой http, и только один веб-сайт будет отображать этот веб-сайт независимо от имени хоста, используемого для доступа к веб-серверу, но для веб-сервера, на котором запущено несколько виртуальных хостов на HTTPS, вам нужно будет запросить новый сертификат TLS с www.example.net.
доменное имя И вам нужно либо создать новую запись виртуального хоста, либо добавить www.example.net.
к конкретному существующему виртуальному хосту.