Do I have to set up a separate IP address (123.0.0.xxx) for each bar.com subdomain?
Não. Um endereço IP pode hospedar vários domínios, isso é implementado usando hosts virtuais em seu software de servidor da Web.
What is the correct way to set up nginx at my end, so that a given xyz gets mapped to the appropriate abc?
Você configura um host virtual para xyz
usando a diretiva server_name xyz;
em sua configuração nginx.
Em seguida, use a diretiva root
para especificar o diretório raiz desejado para esse domínio em seu servidor.
Você também pode configurar o nginx para usar o servidor de aplicativos desse domínio.
Do I need to acquire certificates for xyz.bar.com and install them on my end?
Sim, você precisa ter certificados válidos para todos os hosts virtuais correspondentes aos seus nomes de domínio que usam o TLS em seu servidor.