Não pode ser feito por nada. Quando o computador remoto abre uma conexão TCP, tudo o que ele informa é o endereço IP e o número da porta à qual deseja se conectar. Ele não informa qual hostname ele procurou no DNS para obter esse endereço IP. (A hospedagem virtual baseada em nome usa o cabeçalho Host:
que é enviado como parte do protocolo HTTP, mas isso depois que a conexão é aberta.)
Mas se você está acessando um serviço diferente, o computador remoto deve estar pedindo para se conectar a um número de porta diferente, e você deve ser capaz de rotear com base nisso.
Se todos esses programas estiverem falando em HTTP, você poderá ter suas solicitações principais de proxy de servidor da Web para o servidor apropriado com base no cabeçalho Host:
.