Eu tenho lutado com isso por dias. Isso está me deixando louco, porque todo esse tempo eu poderia ter gasto desenvolvendo. Eu instalei o django dentro de uma VM Ubuntu, e eu preciso acessá-lo a partir do host (Windows 10), mas parece não haver maneira de acessá-lo. Eu usei o puphpet para configurá-lo, aqui está a parte do arquivo config.yaml que definiu o IP e o host da rede:
machines:
vflm_zpwmfbk4aw05:
id: machine1
hostname: machine1.puphpet
network:
private_network: 192.168.56.101
forwarded_port:
vflmnfp_pjysbxl944a0:
host: '9346'
guest: '22'
memory: '2000'
cpus: '1'
Quando eu executo o servidor django assim:
python manage.py runserver 0.0.0.0:8000
Funciona bem, mas não há como acessá-lo a partir da máquina host. Apontar meu navegador para 192.168.56.101:8000
me dá um erro 404. Eu tentei todos os tipos de variações disso, alterando as portas, alterando o IP.
Heres que está no arquivo /etc/hosts
:
127.0.0.1 machine1.puphpet machine1
127.0.0.1 localhost
127.0.1.1 vagrant.vm vagrant
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Heres o arquivo de interfaces:
$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp
pre-up sleep 2
#VAGRANT-BEGIN
# The contents below are automatically generated by Vagrant. Do not modify.
auto enp0s8
iface enp0s8 inet static
address 192.168.56.101
netmask 255.255.255.0
#VAGRANT-END
Eu executei um scanner de porta em 192.168.56.101
e ele detectou o servidor apache sendo executado na porta 80, mas não detectou nada na porta 8000. Poderia ser esse o problema? O apache2 poderia estar usando a porta que o servidor django usaria geralmente?
EDIT: Eu acho que o problema é que a porta de convidado está definida para 22. O que é um problema porque as portas usadas por outros serviços, quando eu tento executar o servidor web django nele, ele diz que é proibido. E o problema real aqui é quando eu mudo o arquivo config.yaml
, ele não muda nada quando eu recarregar a VM. Nada que eu faça para o arquivo config.yaml tem algum efeito. Existe algum cache sorta que eu preciso limpar?