Auf meiner Arbeit Mac (Sierra) betreibe ich einen NodeJS-Webserver auf localhost, Port 3000. Ich muss über Internet Explorer in Parallels zu Testzwecken darauf zugreifen.
Ich habe recherchiert, gelesen und ausgiebig experimentiert. Meine aktuelle Situation ist wie folgt:
Ich habe ein Parallels-Netzwerk "Host-Only" mit meinem Mac um 10.37.129.2 und meiner virtuellen Windows-Box um 10.37.129.3
Zeige meinen IE auf 10.37.129.2:3000
schlägt fehl
Ich bin durch jeden erdenklichen Reifen gesprungen, um sicherzustellen, dass der Port 3000 zwischen den beiden geöffnet ist nmap -p 3000 10.37.129.2
Auf der Windows-Seite wird angegeben, dass Port 3000 geschlossen bleibt, ebenso wie die Network Utility Port Scan-Software.
Leider sind alle Anleitungen und Ratschläge zu diesem Thema entweder ungenügend ähnlich, weitgehend veraltet oder beim Versuch einfach erfolglos.
Jeder Fortschritt, den Sie mir helfen, wird sehr geschätzt.
Die relevanten Teile meiner server.js sind:
const port = process.env.PORT || 3000;
const host = process.env.HOST || 'localhost';
const proxyTarget = process.env.PROXY || 'none';
quelle
Antworten:
Der "technische Hintergrund" des speziellen Verhaltens (zumindest auf Macs) der Verwendung von localhost als "Host-Konstante" ist die Besonderheit von dns.js, die den Knoten http / https-Server offensichtlich an die Schnittstelle bindet, für die er sich rückwärts auflöst const host (= localhost) mit Hilfe von mDNSResponder.
Dies ist localhost & gt; 127.0.0.1 & gt; lo0.
Alle anderen Schnittstellen wie en0 / en1 als physische Schnittstellen oder vnic0 / vnic1 als virtuelle Schnittstellen von Parallels werden nicht angesprochen.
Um dies zu lösen, können Sie entweder
10.37.129.2 testserver.example.com
und benutze testserver.example.com als host constquelle
Auf eine Art und Weise, wie ich es verwenden konnte, habe ich meine lokale IP4-Adresse vom Router gefunden.
Von Mac
system preferences > Network > IP Address: 192.168.x.xx
Und lassen Sie uns sagen, wenn Sie mit Mac darauf zugreifen
http://localhost:3000
du kannst es auch mit machenhttp://192.168.x.xx:3000
vom Mac selbst und vom parallelen Windows-Betriebssystem mit gemeinsam genutzter Netzwerkkonfiguration.Diese IP-Adresse kann bei jedem Neustart des Routers oder Auswählen eines anderen Routers usw. geändert werden.
Derzeit verwende ich Parallels Desktop 12
quelle
Die temporäre Lösung besteht darin, server.js zu bearbeiten und festzulegen
host = '10.37.129.2'
oder setze dasHOST
Systemvariable auf10.37.129.2
und lese es mithost = process.env.HOST || 'localhost'
. Möglicherweise ist auch eine Bearbeitung möglich/private/etc/hosts
zur Karte10.37.129.2
zulocalhost
, obwohl meine schnelle Prüfung fehlgeschlagen ist.Alles hat sich genau wie erwartet verhalten. Das
localhost
Name ist zugeordnet127.0.0.1
und nicht an ein Netzwerk mit IP-Adresse. Somit10.37.129.2
Die IP-Adresse meines Macs in dem virtuellen Netzwerk, das mit Windows in Parallels ausgeführt wurde, erreichte nielocalhost
. Das ist richtig und vernünftig.Alle Gutschriften gehen an Klanomath . Vielen Dank!
quelle