Во-первых, позвольте мне извиниться за возможно расплывчатый вопрос.
Мне нужны советы о том, как настроить установку, описанную ниже. Я не прошу готовый файл конфигурации, но мне не удается собрать его воедино.
Настроить
example.com
git.example.com
, issues.example.com
В настоящее время
Я думаю, что могу настроить маршрутизатор на использование сервера в качестве основного DNS. Сервер работает под управлением Bind9 и разрешает субдомен (git.example.com
и issues.example.com
) на статический IP-адрес сервера. Контент серверов Apache. Bind9 не разрешает example.com
, поэтому маршрутизатор использует для этого вторичный DNS (или Bind9 может перенаправить на другой DNS-сервер).
Пока я могу настроить настройку, чтобы получить доступ example.com/git
и example.com/issues
, но тогда я не могу получить доступ example.com
.
Итак, мои вопросы: как мне настроить Bind9 для разрешения git.example.com
но нет example.com
и как мне настроить Apache для обслуживания git.example.com
иначе (т.е. другой корень документа?) от issues.example.com
? А если, то как Bind9 и Apache связаны друг с другом?
Надеюсь, это имеет смысл, я недавно начал заниматься сервером и имею только базовое теоретическое представление о сети. :)
редактировать: Чтобы было ясно; git.example.com
и issues.example.com
не обязательно (или даже должно быть) доступным извне нашей сети.
Edit2: Добавил картинку.
Во-первых, давайте проясним заблуждение. Это утверждение неверно: «Bind9 не разрешает example.com, поэтому маршрутизатор использует для этого вторичный DNS». Преобразователи DNS не просматривают список настроенных DNS-серверов, пока не найдут ответ, который ему нравится. Обычно они предполагают, что все серверы ответят правильно и остановятся после ответа одного сервера (положительного или отрицательного).
Теперь перейдем к актуальной проблеме. Похоже, что git.example.com и issues.example.com - это не субдомены, а фактически имена серверов / хостов. Субдомен может выглядеть примерно так: git.yourdepartment.example.com, где "yourdepartment.example.com" является субдоменом. Если это так (на самом деле это имена серверов), вам нужно, чтобы администратор DNS-сервера, ответственного за example.com, добавил эти 2 записи A. Затем на ваших серверах DNS (Bind9) создайте зону пересылки для example.com:
zone "example.com" {
type forward;
allow-query {any; }; // modify as you see fit
forwarders {
ip.of.dns.server1;
ip.of.dns.server2;
};
};
(Изменить: или просто запустить кеширующий сервер имен)
После этого вы сможете легко настроить виртуальные хосты в Apache для каждого из серверов git.example.com и issues.example.com (для этого нет недостатка в руководствах и учебных пособиях).
Изменить: отношения между DNS и Apache? DNS берет имя хоста из URL-адреса и возвращает IP-адрес сервера (в данном случае Apache), способного обслуживать запрос. Вот и все. (Хорошо, это очень упрощенно, но довольно точно)