Acessando um servidor web nginx na VM CentOS7 hospedada no Virtualbox no Windows 10

Acessando um servidor web nginx na VM CentOS7 hospedada no Virtualbox no Windows 10

Configurar:

Uma única VM CentOS 7.1 rodando em um servidor Windows 10 Pro (versão prévia 10074), dentro do Virtualbox 5 beta 4 (também testado em 4.3.8). Usando nginx/1.9.0, para servir arquivos HTML estáticos.

A VM está conectada à minha intranet usando a configuração NAT do Virtualbox. Encaminhei as portas 22, 80 e 443 do servidor para a VM usando as configurações padrão do Virtualbox.

Problema:

Dentro da VM, posso usar curl para buscar qualquer página ( curl localhosttraz de volta o resultado esperado). No entanto, se eu tentar buscar a página do servidor Windows host ou de qualquer outro cliente da intranet - por IP ou host local no host, recebo erros "não é possível conectar" ou "redefinir conexão".

Usando netstat na VM, validei que o nginx está escutando nas portas 80 e 443 em 0.0.0.0 e [::]. Também verifiquei no servidor Windows se as portas 80 e 443 não são utilizadas quando a VM não está em execução e estão sendo escutadas quando está.

Verificando os logs produzidos pelo nginx, o access.log contém apenas minhas solicitações curl - e nada relevante aparece no meu error.log.

No entanto, também estou executando o sshd no servidor (na porta 22) e posso me conectar a ele de qualquer máquina na minha intranet (e externamente quando encaminho as portas do meu roteador de internet), então não acredito que isso seja um firewall emitir.

Soluções tentadas:

Tentei abrir o firewall do Windows para permitir conexões de entrada nas portas 80/443, bem como adicionar o Virtualbox às exceções do programa. Também tentei desativar o firewall completamente.

Tentei mudar para portas> 1000 no servidor host - mas como a porta 22 parece funcionar bem, isso não faz muito sentido.

Infelizmente, não consigo alterar minha conexão VM de NAT para qualquer outro tipo. O Virtualbox ainda não parece suportar ponte de adaptador no Windows 10 (tentei várias reinstalações e a nova versão beta).

Responder1

Eu precisava usar firewall-cmdpara permitir o tráfego http e https através do firewall da VM. Versões mais antigas do CentOS usariam iptables.

informação relacionada