Existem duas abordagens para isso, dependendo do que o seu ISP e roteador podem suportar. No entanto, você deve observar desde o início que o seu roteador não pode dizer a diferença entre diferentes subdomínios, ele só roteia o endereço IP e a porta não pelo nome.
A abordagem menos provável é que seu ISP possa fornecer mais de um endereço IP e que seu roteador também possa lidar com isso (meu velho roteador Draytek poderia, meu novo roteador Billion não pode). Nesse caso, você configuraria um DNS público (não local) que apontasse os dois subdomínios nos endereços diferentes e, no roteador, certificasse-se de também rotear esses endereços de acordo. O roteador precisaria então encaminhar a porta 80 em cada endereço IP para um único endereço IP (o PC de hospedagem, suponho que ambos estejam em uma única caixa?), Mas duas portas diferentes. Esta é de longe a abordagem mais fácil e robusta. Se você indicar que esta é a abordagem desejada, posso atualizar a resposta com mais detalhes sobre como configurar o Apache e o PC corretamente.
É mais provável que você tenha apenas um único endereço IP externo disponível para você. Agora as coisas são um pouco mais difíceis, pois ambos os sub-domínios devem ser direcionados para um único endereço IP externo e serão NAT para um único endereço interno / porta, já que o roteador não pode diferenciar o tráfego. Neste caso, você precisará (como David indicou) configurar um proxy reverso . Isso pode ser feito usando uma ferramenta de proxy dedicada ou via mod_proxy
no Apache (outros servidores da Web, como o NGINX, também podem fazê-lo). Você também precisa ter certeza de que seus dois aplicativos da web realmente funcionam atrás de um proxy reverso, outros não.
Um proxy reverso tomará tráfego para cada subdomínio e o encaminhará para uma combinação de endereço / porta interna para que os dois aplicativos sejam executados em portas separadas no PC host. Para aplicativos da Web simples, a configuração é simples, mas para aplicativos complexos, a configuração pode ser um pouco complexa para acertar.
Em ambos os casos, você precisa da ajuda de um DNS externo não interno.