Primeiro, vamos esclarecer um equívoco. Esta declaração não está correta: "O Bind9 não resolve example.com, portanto, o roteador usa DNS secundário para isso". Os resolvedores de DNS não passam pela lista de servidores DNS configurados até encontrar uma resposta de que goste. Eles geralmente assumem que todos os servidores responderão corretamente e pararão depois que um servidor responder (positiva ou negativamente).
Agora, para o problema real em questão. Parece que git.example.com e issues.example.com não são subdomínios, mas, na verdade, nomes de servidor / host. Um subdomínio pode ser algo como: git.yourdepartment.example.com, com "yourdepartment.example.com" sendo o subdomínio. Se esse for o caso (eles são, na verdade, nomes de servidor), você desejará que o administrador do servidor DNS responsável por example.com adicione esses 2 registros A para você. Em seguida, em seus servidores DNS (Bind9), crie uma zona de encaminhamento para example.com:
zone "example.com" {
type forward;
allow-query {any; }; // modify as you see fit
forwarders {
ip.of.dns.server1;
ip.of.dns.server2;
};
};
(Editar: ou apenas executar um servidor de nomes de armazenamento em cache)
Depois disso, você poderá configurar facilmente hosts virtuais no Apache para cada um dos servidores git.example.com e issues.example.com (não há escassez de guias e tutoriais para isso).
Edit: A relação entre o DNS e o Apache? O DNS pega o nome do host da URL e retorna o endereço IP de um servidor (Apache, neste caso) capaz de atender a solicitação. Isso é tudo. (OK, isso é muito simplista, mas bastante preciso)