Come accedere a macOS localhost (porta 3000) da Parallels IE?

6

Sul mio lavoro Mac (Sierra) Sto eseguendo un server Web NodeJS su localhost, porta 3000. Devo accedervi da Internet Explorer in esecuzione in Parallels a scopo di test.

Ho cercato, letto e sperimentato a lungo, e finora sono stato ostacolato. La mia situazione attuale è la seguente:

Ho una rete Parallels "solo host" con il mio Mac alla 10.37.129.2 e la mia casella virtuale Windows 10.37.129.3

Puntare il mio IE su 10.37.129.2:3000 fallisce.

Ho attraversato ogni telaio immaginabile per garantire che la porta 3000 sia aperta tra i due, ma nmap -p 3000 10.37.129.2 dal lato Windows mi dice che la porta 3000 rimane chiusa, così come il software Mac Port Utility Network Scan.

Purtroppo tutte le guide e i consigli sull'argomento sono o insufficientemente simili, grossolanamente obsoleti o semplicemente infruttuosi quando tentati.

Ogni progresso che mi aiuti a raggiungere è molto apprezzato.

Le parti rilevanti del mio server.js sono:

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

3 risposte

3

Lo "sfondo tecnico" del comportamento speciale (almeno sui Mac) dell'uso di localhost come "costante host" è la natura specifica di dns.js, che ovviamente collega il nodo http / https server all'interfaccia che inverte- risolve l'host const (= localhost) con l'aiuto di mDNSResponder.

Questo è localhost > 127.0.0.1 > lo0.

Qualsiasi altra interfaccia come en0 / en1 come interfacce fisiche o vnic0 / vnic1 come interfacce virtuali di Parallels non saranno indirizzate / allegate.

Per risolvere questo problema puoi

  • imposta un server DNS come dnsmasq nella rete solo-host di Parallels e usa fqdn dell'host del server http del nodo come host const
  • usa l'indirizzo IP del server http del nodo nella rete solo host di Parallels come host const
  • modifica i file host di ogni host nella rete solo host di Parallels e aggiungi una riga come 10.37.129.2 testserver.example.com e usa testserver.example.com come host const
risposta data 21.11.2016 - 15:13
fonte
6

Uno dei modi in cui potrei usarlo, ho trovato il mio indirizzo IP4 locale fornito dal router.

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

E diciamo che se accedete a Mac con http://localhost:3000 potete farlo anche con http://192.168.x.xx:3000 da Mac stesso e da Parallel Windows OS con configurazione di rete condivisa.

Questo indirizzo IP può essere cambiato ogni volta che si riavvia il router o si sceglie un altro router, ecc.

Attualmente sto utilizzando Parallels Desktop 12

    
risposta data 12.06.2017 - 11:55
fonte
1

La soluzione temporanea è modificare server.js e impostare host = '10.37.129.2' o impostare la variabile di sistema HOST su 10.37.129.2 e leggerla con host = process.env.HOST || 'localhost' . Potrebbe anche essere possibile modificare /private/etc/hosts per mappare 10.37.129.2 su localhost , sebbene il mio test rapido non sia riuscito.

Tutto si stava comportando esattamente come previsto. Il nome localhost è mappato su 127.0.0.1 e non su qualsiasi indirizzo IP di rete. Pertanto 10.37.129.2 , che era l'IP del mio Mac sulla rete virtuale condivisa con Windows in esecuzione su Parallels, non raggiungeva mai localhost . Questo è corretto e ragionevole.

Tutto il credito va a klanomath . Grazie!

    
risposta data 21.11.2016 - 14:29
fonte

Leggi altre domande sui tag