¿Cómo acceder a macOS localhost (puerto 3000) desde Parallels IE?

6

En mi trabajo Mac (Sierra) Estoy ejecutando un servidor web NodeJS en localhost, puerto 3000. Necesito acceder a él desde Internet Explorer que se ejecuta en Parallels para realizar pruebas.

He buscado, leído y experimentado ampliamente, y hasta ahora he sido bloqueado. Mi situación actual es la siguiente:

Tengo una red Parallels "Host-Only" con mi Mac en 10.37.129.2 y mi caja virtual de Windows en 10.37.129.3

Fallo al señalar mi IE a 10.37.129.2:3000 .

He saltado a través de cada aro imaginable para garantizar que el puerto 3000 esté abierto entre los dos, pero nmap -p 3000 10.37.129.2 del lado de Windows me dice que el puerto 3000 permanece cerrado, al igual que el software de escaneo de puertos de la Utilidad de red de Mac.

Lamentablemente, todas las guías y consejos sobre el tema no son lo suficientemente similares, están desactualizados o simplemente no tienen éxito cuando se los intenta.

Cualquier progreso que me ayudes a lograr es muy apreciado.

Las partes relevantes de mi server.js son:

const port = process.env.PORT || 3000;
const host = process.env.HOST || 'localhost';
const proxyTarget = process.env.PROXY || 'none';
    
pregunta Michael Plotke 20.11.2016 - 23:50

3 respuestas

3

El "fondo técnico" del comportamiento especial (al menos en Mac) del uso de localhost como "constante de host" es la naturaleza específica de dns.js, que obviamente vincula el servidor http / https del nodo a la interfaz que invierte se resuelve en const host (= localhost) con la ayuda de mDNSResponder.

Esto es localhost > 127.0.0.1 > lo0.

Cualquier otra interfaz como en0 / en1 como interfaces físicas o vnic0 / vnic1 como interfaces virtuales de Parallels no será direccionada / adjunta.

Para resolver esto puedes:

  • configure un servidor DNS como dnsmasq en la red de solo host de Parallels y use el fqdn del host del servidor http del nodo como host const
  • use la dirección IP del servidor http del nodo en la red de solo host de Parallels como host const
  • modifique los archivos de hosts de cada host en la red de solo host de Parallels y agregue una línea como 10.37.129.2 testserver.example.com y use testserver.example.com como host const
respondido por el klanomath 21.11.2016 - 15:13
5

Una de las maneras en que podría usarlo, encontré mi dirección IP4 local proporcionada por el enrutador.

Desde Mac system preferences > Network > IP Address: 192.168.x.xx

Y digamos que si accede a Mac con http://localhost:3000 puede hacerlo también con http://192.168.x.xx:3000 desde la propia Mac y desde el sistema operativo Windows paralelo con configuración de red compartida.

Esta dirección IP puede cambiarse cada vez que reinicie el enrutador o elija otro enrutador, etc.

Actualmente, estoy usando Parallels Desktop 12

    
respondido por el sambua 12.06.2017 - 11:55
1

La solución temporal es editar server.js y establecer host = '10.37.129.2' o establecer la variable de sistema HOST en 10.37.129.2 y leerla con host = process.env.HOST || 'localhost' . También es posible editar /private/etc/hosts para asignar 10.37.129.2 a localhost , aunque mi prueba rápida falló.

Todo se estaba comportando exactamente como se esperaba. El nombre localhost se asigna a 127.0.0.1 , y no a ninguna dirección IP que se encuentre frente a una red. Por lo tanto, 10.37.129.2 , que era la IP de mi Mac en la red virtual compartida con Windows que se ejecuta en Parallels, nunca alcanzó a localhost . Esto es correcto y razonable.

Todo el crédito va a klanomath . Gracias!

    
respondido por el Michael Plotke 21.11.2016 - 14:29

Lea otras preguntas en las etiquetas