Definitivamente não está relacionado ao nginx, que apenas escuta em seu convidado na porta 80, como qualquer servidor Web faria.
Você deve verificar a configuração de rede do seu convidado, tanto no nível de configuração da máquina no VirtualBox quanto na configuração das interfaces de convidado ( /etc/network/interfaces
, ifconfig
).
O fato de você poder acessá-lo a partir do seu host significa que você já tem acesso a partir do VirtualBox externo, portanto a conexão host-guest é OK / possível.
Como você configurou sua rede de convidados no VirtualBox?
1 Seu host fica em uma rede atrás de um roteador / NAT
A conexão em ponte pode ser a configuração mais simples, conectando seu convidado diretamente à rede do host por meio de seu cartão e obtendo seu próprio endereço IP. Depende se o seu controlador de rede (switch / hub) o aceita (filtragem de MAC / white-listing pode impedi-lo). Neste último, você deve configurá-lo com NAT (veja abaixo).
O que você precisa então é disponibilizar seu host para o mundo exterior. Você precisará configurar o NAT no seu gateway de rede (roteador).
2. Seu host está diretamente conectado ao mundo externo
Você deve configurar sua rede de convidados como NAT no VirtualBox e fazer um redirecionamento de porta no VirtualBox para fazê-lo ouvir a porta TCP 80 e encaminhá-la para esse convidado. Isso é porque você provavelmente tem um único endereço IP em sua rede "fora do mundo", então a conexão em ponte falhará.
Em ambos os casos, você precisará abrir o TCP 80 de entrada em seu firewall host (já OK, a menos que você o tenha alterado no Linux) e, obviamente, não ter nada escutando naquela porta para permitir que o VirtualBox faça isso.