Wie kann ich von Parallels IE aus auf macOS localhost (port 3000) zugreifen?

6

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';
Michael Plotke
quelle
Hast du meine Vorschläge ausprobiert?
klanomath
Ja, Sie haben mich absolut in die richtige Richtung gebracht und auf den richtigen Weg gebracht. @klanomath
Michael Plotke

Antworten:

3

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

  • Richten Sie im Parallels-Host-Only-Netzwerk einen DNS-Server wie dnsmasq ein, und verwenden Sie den FQDN des Knotens http-Server-Host host const
  • Verwenden Sie als IP-Adresse des Knotens http-Server im Host-Only-Netzwerk von Parallels host const
  • Ändern Sie die Hosts-Dateien aller Hosts im Host-Only-Netzwerk von Parallels und fügen Sie eine Zeile wie hinzu 10.37.129.2 testserver.example.com und benutze testserver.example.com als host const
klanomath
quelle
Hallo, danke für die Antwort, aber gibt es eine bessere Erklärung? Ich habe keine Ahnung, wie ich die drei erreichen könnte. "host const" gibt nichts zurück, sondern verlinkt auf diesen Beitrag.
tomitrescak
Ok, verstanden, das hat geholfen: toddvachon.com/2013/04/…
tomitrescak
6

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 machen http://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

sambua
quelle
1
die kürzeste und funktionierende Lösung! Vielen Dank!
Matiishyn
1

Die temporäre Lösung besteht darin, server.js zu bearbeiten und festzulegen host = '10.37.129.2' oder setze das HOST Systemvariable auf 10.37.129.2 und lese es mit host = process.env.HOST || 'localhost'. Möglicherweise ist auch eine Bearbeitung möglich /private/etc/hosts zur Karte 10.37.129.2 zu localhost, obwohl meine schnelle Prüfung fehlgeschlagen ist.

Alles hat sich genau wie erwartet verhalten. Das localhost Name ist zugeordnet 127.0.0.1und nicht an ein Netzwerk mit IP-Adresse. Somit 10.37.129.2Die IP-Adresse meines Macs in dem virtuellen Netzwerk, das mit Windows in Parallels ausgeführt wurde, erreichte nie localhost. Das ist richtig und vernünftig.

Alle Gutschriften gehen an Klanomath . Vielen Dank!

Michael Plotke
quelle
2
localhost ist ein "magischer" Name und Sie können / dürfen nur eine IP-Adresse 127.x.y.z festlegen. Sie müssten es auch in jedem Kunden einstellen Gastgeber Datei, um in der Lage zu sein, den entfernten "localhost | 10.37.129.2" zu erreichen, der den zugehörigen RFC-Standard bricht und die Clients "rendert" Gastgeber Dateien nutzlos in Bezug auf ihre "localhost'iness". (Ich weiß nicht, wie ich es genau auf Englisch sagen soll ...)
klanomath