У меня есть синтетическая запись, указывающая 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 - правильный инструмент для этого, так что же происходит? Обновление
: Чтобы уточнить, я устанавливаю эти записи в Namecheap (но это должно относиться ко всем другим менеджерам доменов, таким как Google Domains), а не Windows Server, Apache или NGINX.
Запись CNAME не должна указывать на другую запись CNAME.
Выясните, где на самом деле указывает ваш a.example.com
CNAME, а затем установите www.example.com
CNAME, чтобы он также указывал прямо на него.
Так что вы можете проверить мои комментарии, чтобы получить небольшое представление о том, как устранить вашу проблему. Но я полагаю, что более подходящим будет окончательный ответ на вопрос, как работают записи 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 / article / cname-record /
Затем вы можете использовать инструменты DNS, такие как dig или nslookup, для устранения неполадок в том, что происходит. Поскольку все это находится в моей внутренней сети, я просто использовал nslookup с другого сервера на моем виртуальном хосте, чтобы показать некоторые соответствующие выходные данные, которые помогут вам в устранении неполадок:
Как вы можете видеть, он не только сообщает мне истинный канонический домен, на который указывает псевдоним к. Однако он должен сообщить серверу, который отправляет отчет. Поэтому, если у вас есть подобная конфигурация «главный-подчиненный» в вашей среде DNS, вам нужно убедиться, что передачи зон произошли от главного устройства ко всем подчиненным, чтобы убедиться, что все они имеют правильную конфигурацию. Если вы используете Linux, просто найдите параметры команды. Но на самом деле этих базовых проверок DNS и устранения неполадок должно быть достаточно для решения проблемы 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.
к конкретному существующему виртуальному хосту.