Как мне указать www.example.com на a.example.com ?

У меня есть синтетическая запись, указывающая 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.

-1
задан 24 July 2019 в 11:18
3 ответа

Запись CNAME не должна указывать на другую запись CNAME.

Выясните, где на самом деле указывает ваш a.example.com CNAME, а затем установите www.example.com CNAME, чтобы он также указывал прямо на него.

2
ответ дан 5 December 2019 в 19:02

Так что вы можете проверить мои комментарии, чтобы получить небольшое представление о том, как устранить вашу проблему. Но я полагаю, что более подходящим будет окончательный ответ на вопрос, как работают записи DNS и как добиться перенаправления, которое вы ищете. RFC, вероятно, являются правильным способом доступа к источникам сайта, но я люблю объяснять это своими собственными примерами. Поэтому я предоставлю снимки экрана с моего сервера Windows 2016 Active Directory, который также запускает DNS локально на сервере. Теперь, если вы используете что-то вроде bind в Linux / Windows, тогда концепции должны сохраняться, но, очевидно, это другой подход к настройке.

Итак, на вашем DNS-сервере будет настроена зона прямого просмотра для вашего домена. Мой для этого экземпляра - digiecho.xyz, как вы можете видеть на скриншоте ниже:

DNS Forward Zone Example

В зоне поиска вы можете видеть, что у меня есть набор записей A, которые указывают на IP-адреса. По моему опыту, это наиболее распространенные типы записей. Итак, у вас должна быть одна запись A, где ваш www.domain.com указывает на какой-то IP. В моем примере я собираюсь использовать свою запись A для VC01.

CNAME или каноническое имя позволяет связать одно имя с другим. Я собираюсь создать запись CNAME vcenter.digiecho.xyz и указать ее на мою запись A VC01 (см. Снимок экрана ниже для примера создания записи и информации о CNAME):

https://support.dnsimple.com / article / cname-record /

CNAME Record Creation

Затем вы можете использовать инструменты DNS, такие как dig или nslookup, для устранения неполадок в том, что происходит. Поскольку все это находится в моей внутренней сети, я просто использовал nslookup с другого сервера на моем виртуальном хосте, чтобы показать некоторые соответствующие выходные данные, которые помогут вам в устранении неполадок:

nslookup Example

Как вы можете видеть, он не только сообщает мне истинный канонический домен, на который указывает псевдоним к. Однако он должен сообщить серверу, который отправляет отчет. Поэтому, если у вас есть подобная конфигурация «главный-подчиненный» в вашей среде DNS, вам нужно убедиться, что передачи зон произошли от главного устройства ко всем подчиненным, чтобы убедиться, что все они имеют правильную конфигурацию. Если вы используете Linux, просто найдите параметры команды. Но на самом деле этих базовых проверок DNS и устранения неполадок должно быть достаточно для решения проблемы CNAME.

2
ответ дан 5 December 2019 в 19:02
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. к конкретному существующему виртуальному хосту.

1
ответ дан 5 December 2019 в 19:02

Теги

Похожие вопросы