Then I thought with nginx I could redirect sub-domains to virtual machines
Sim, é assim que funciona a função "proxy reverso" do nginx.
No servidor host, defina server { … }
blocos para todos os seus subdomínios. Em vez de especificar um caminho de raiz de documento, use proxy_pass
para apontar nginx para cada uma de suas máquinas virtuais. (As máquinas virtuais devem estar usando redes somente de host ou em ponte.)
Para o seu exemplo, você pode usar:
server {
server_name www.mysite.com;
listen *:80;
listen [::]:80;
location / {
proxy_pass http://10.8.0.10;
}
}
server {
server_name api.mysite.com;
listen *:80;
listen [::]:80;
location / {
proxy_pass http://10.8.0.20;
}
}
etc.