bajar - vagrant virtualbox
Respuesta vacĂa del servidor: no se puede conectar con vagrant vm w/port forwarding (3)
Al ejecutar un servidor desde una máquina virtual, inicie el servidor en 0.0.0.0 en lugar de 127.0.0.1 .
127.0.0.1 solo es accesible para la máquina local , que para una VM significa que nada fuera de la VM puede alcanzarla. Se puede acceder a 0.0.0.0 desde cualquier lugar de la red local , que para una máquina virtual incluye el equipo host.
La respuesta vino desde aquí: Restablecimiento de la conexión cuando el reenvío de puertos con Vagrant
(Que aparentemente obtuvo su respuesta desde aquí: https://stackoverflow.com/a/5999945/738675 )
Con la ayuda de: https://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0-1
Google-cebo:
Aquí están los errores que podría recibir si este es el problema:
- Chrome: "No se recibieron datos"
- Firefox: "La conexión se restableció: la conexión con el servidor se restableció mientras se cargaba la página".
- Safari: "Safari no puede abrir la página [URL] porque el servidor interrumpió la conexión inesperadamente"
- curl: "Respuesta vacía del servidor"
Estoy ejecutando werkzeug (como parte de una configuración de Tilestache) dentro de una máquina virtual Vagrant, ejecutando ubuntu ''preciso''.
En mi Vagrantfile, tengo:
config.vm.network :forwarded_port, guest: 8080, host: 8080
Cuando inicio el servidor en la máquina virtual, veo:
* Running on http://127.0.0.1:8080/
Si curl
esa dirección desde la VM, obtengo el resultado esperado. Cuando lo curl
desde la máquina host, obtengo:
curl: (52) Empty reply from server
Y Chrome dice "No se recibieron datos".
Información de resolución de problemas:
- El servidor responde a pings desde la máquina host.
- un rastreador de puertos verifica que el puerto esté abierto
- ejecutando
netstat -ntlp | grep 8080
netstat -ntlp | grep 8080
en la máquina virtual muestra que el servidor está escuchando en 8080 - Mi hostfile local no tiene conflictos extraños
- También estoy enviando 22 => 2222, y puedo ssh sin problemas
- He desactivado el firewall en el host y no creo que haya uno en el invitado (iptables y ufw están desactivados, al menos)
- He establecido
auto_correct: true
en caso de que haya conflictos (no los hay)
Sé que puedo configurar una red privada, pero me gustaría entender por qué esto no funciona y cómo solucionarlo.
¿Alguna otra idea?
En la línea de cambio /etc/hosts
127.0.0.1 localhost -> 0.0.0.0 localhost
y luego restart server
Esto también puede ser un problema con su firewall en la máquina errante. Si puede doblar la dirección mientras se encuentra en el cuadro errante, entonces verifique la configuración de su firewall o apáguela:
en CENTOS:
sudo service firewalld stop
Entonces debes actualizar tu configuración de firewall y reiniciarla;)