У меня есть один сервер (один IP), на котором запущены apache, bind и почтовый сервер. Это обслуживает один домен (mydomain.com), и я хотел бы связать www.mydomain.com и mydomain.com с моим веб-сайтом, mail.mydomain.com с почтовым сервером (входящим и исходящим) и ns.mydomain.com с DNS.
Все работает нормально, но мне не нравится, что при указании браузера на mail.mydomain.com (или на ns.mydomain.com) я попадаю на мой веб-сайт (то есть так же, как www.mydomain.com). Насколько я понимаю, в DNS это не исправить, верно? Я мог бы создать виртуальные хосты в apache для mail.mydomain.com и либо показать пустую страницу, либо сообщение об ошибке? Что предпочтительнее, и есть ли типичное / рекомендуемое сообщение об ошибке?
Есть ли другие места, где эти имена пересекаются: например, ns.mydomain.com влияет на почтовую систему?
в apache это называется the_default_vhost и на самом деле хорошо документировано. Если имени хоста нет, то он обслуживает the_default_host, который является первым, что ваш apache имеет в списке, в вашем случае это mail.yourdomain.com и так далее. Я понял это раньше сам, протестировав это и создав имя хоста (корень документа) для каждой отдельной записи A, которая у меня была. Это помогло. Чуть позже я узнал, что он называется the_default_host.
Проблема, похоже, в том, что ваш веб-сервер настроен на прослушивание (числового) IP-адреса. (В противном случае вы бы уже получили ошибку на произвольных поддоменах.) Так что не позволяйте ему прослушивать IP-адрес. Vhost только и только для domain.net
и www.domain.net
для обслуживания веб-страницы должен быть ваш путь.
Теперь, если запрос IP-адреса браузером приводит к известной ошибке браузеров «не удается подключиться к серверу», она будет там на ns.
и mail.
тоже пока не влияет на обычную почту или службу DNS.