Gerät mit Mac localhost Server verbinden? [geschlossen]

99

Wie kann ich zulassen, dass ein Gerät, z. B. ein iPhone, über ein WLAN eine Verbindung zum Localhost-Server meines Mac herstellt?

Auf meinem Mac verwende ich einen HTTP Node.js- Server "Hello World" , auf dem eine Seite bereitgestellt wird, die Safari erfolgreich öffnet http://localhost:1337. Und läuft ipconfig getifaddr en1in Terminal-Ausgängen 192.168.1.9.

Safari zeigt jedoch sowohl auf dem iPhone als auch auf dem Mac "Safari kann keine Verbindung zum Server herstellen" an, wenn versucht wird, das Menü zu öffnen http://192.168.1.9:1337.

Ich denke nicht, dass dies eine Portweiterleitung beinhalten sollte, da ich nur möchte, dass der HTTP-Server privat und nicht öffentlich verfügbar ist.

Verbunden:

ma11hew28
quelle
1
Frage hier beantwortet stackoverflow.com/questions/9304058/…
Andreas Norman
Ich war überrascht, keine Antwort wie diese zu sehen, die für mich funktionierte
Ryan

Antworten:

55

Ich hatte das gleiche Problem. Ich habe mein WI-FI auf meinem Mac ausgeschaltet und dann wieder eingeschaltet, wodurch das Problem behoben wurde. Klicken Sie auf Einstellungen> WI-FI ausschalten.

Ich habe es getestet, indem ich auf meinem iPhone zu Safari gegangen bin und meinen Hostnamen oder meine IP-Adresse eingegeben habe. Zum Beispiel: http://<name>.localoderhttp://10.0.1.5

Johnnieb
quelle
Seltsamerweise hat das bei mir funktioniert! Vielen Dank. Ich kann nicht verstehen warum.
Björn Grossmann
3
plus eins für <name>.local- Keine statischen IPs mehr zum Testen!
Adam Carter
Ich habe einen ganzen Tag lang versucht, das herauszufinden. Durch Ein- und Ausschalten des WLANs meines Mac wurde das Problem behoben. Seltsam.
oif_vet
Das Umschalten des Mac-WLANs hat es auch für mich behoben. Ich frage mich, ob dies ein Mac-Problem oder ein Router-Problem oder ein NodeJS-Problem ist. Irgendwelche Ideen?
Neoneye
1
http: // <Name> .local hat bei mir funktioniert. Um die Antwort zu erweitern, finden Sie den <Namen> Ihres Mac in den Systemeinstellungen> Freigabe . Unter Ihrem Computernamen: Sie finden Computer in Ihrem lokalen Netzwerk, die auf Ihren Computer zugreifen können unter: <Name> .local
John Lay
42

Haben Sie Ihren Server hören auf 0.0.0.0statt localhost.

ma11hew28
quelle
1
Ahhhh danke das hat bei mir funktioniert
aks.
1
Wenn Sie Probleme mit den anderen Antworten haben, probieren Sie es aus!
Trent
5
Alternativ können Sie '0.0.0.0' angeben, um direkt an die lokale IP zu binden. Verhindert Probleme, wenn Sie das Netzwerk wechseln und nicht dieselbe IP-Adresse zugewiesen bekommen.
Cole Murray
Entschuldigung, aber wie können Sie Ihren Server genau abhören lassen?
Gmarais
@ ColeMurray, entschuldige die verspätete Antwort. Danke für deinen Vorschlag. Ich habe gerade meine Antwort aktualisiert.
ma11hew28
30

Ich konnte nur mit auf mein iPhone zugreifen http://name.local:1337. Sie müssen die ".local" hinzufügen. Sie finden Ihren Computernamen unter Systemeinstellungen / Freigabe / "Computername".

Moeamaya
quelle
Ich habe versucht, die IP-Adresse mit und ohne Firewall zu verwenden, und viele andere Lösungen vorgeschlagen, und dies ist die einzige, die funktioniert hat. Ich führe eine localhost-Site auf Port 3000 mit Express unter Verwendung des Knotens js aus.
lostAtSeaJoshua
Sie können Ihren "Namen" auch finden, indem Sie ihn whoamiin die Konsole eingeben .
Jadam
1
@ Jadam Diese Technik funktioniert bei mir nicht. Ich bekomme zwei verschiedene Namen. In einer lokalen Serversituation funktioniert der "Computername".
Moeamaya
1
Für mich bin ich mit name.local nie irgendwohin gekommen, aber die tatsächliche IP-Adresse hat funktioniert. Ich würde sagen, Fehlerbehebung mit bestimmten tatsächlichen IP-Adressen im Gegensatz zu der Bequemlichkeit von so etwas wie name.local, die nur eine weitere Ebene der Komplikation hinzufügt.
MarsAndBack
1
Dies sollte die akzeptierte Antwort sein. Es ist keine zusätzliche Einrichtung oder Änderung der aktuellen Node.js-Serverdatei erforderlich. @ ma11hew28
BenS
14

Versuchen Sie, die Internetfreigabe zu aktivieren:
Öffnen Sie die Systemeinstellungen -> Freigabe. Aktivieren Sie die Option "Internetfreigabe", um sie zu aktivieren. Sie werden aufgefordert, Ihre Aktion zu bestätigen. Wählen Sie "OK". Wenn Ihr iPhone über USB angeschlossen ist, wird das iPhone USB in der Liste "Freigabe Ihrer Verbindung" auf der rechten Seite überprüft.
Versuchen Sie danach, über die IP-Adresse Ihres Macs über WLAN auf Ihren lokalen Server zuzugreifen.

Maqbulh
quelle
9

Mein Problem war das gleiche, aber die Lösung hatte mit dem Ändern einer Firewall-Einstellung zu tun. Es stellte sich heraus, dass der Knoten so eingestellt war, dass er eingehenden Verkehr blockiert. Ich wusste, dass etwas nicht stimmte, weil ich früher von meinem Telefon aus auf meinen Localhost-Server zugreifen konnte.

Gehen Sie zu Systemeinstellungen -> Sicherheit und Datenschutz -> Firewall -> Firewall-Optionen und scrollen Sie nach unten, bis Sie den Knoten gefunden haben, und stellen Sie sicher, dass die Einstellung des Knotens auf Eingehende Verbindungen zulassen eingestellt ist .

Nachdem ich die Einstellung geändert hatte, konnte ich den auf meinem Mac laufenden localhost-Server (Port 3000) unter http://192.168.1.11:3000 erreichen

David Rajcok
quelle
Die Firewall war der einzige Schuldige. Alles andere war in Ordnung.
Mythicalcoder
Oh Mann, du hast mich gerettet! Vielen Dank!!
GoOlga
7

Ich löse ein ähnliches Problem.

  • Mac und iPhone mit demselben WLAN verbunden
  • Ändern Sie die iPhone Wi-Fi-Einstellung, setzen Sie den http-Proxy auf manuell und ändern Sie den Server auf Ihre Mac-IP-Adresse und stellen Sie den Port ein. Mein Port ist 80.

Bild eins

Bild zwei

  • Sie können http://<Mac ip>:<your customer server port>in die Safari des iPhones eingeben
HasjOH
quelle
5

MacOS Sierra-Benutzer können ihre automatisch generierte Vanity-URL finden, indem sie System Preferences > Sharingunter der Texteingabe Computername nachsehen und diese überprüfen. Um darauf zuzugreifen, geben Sie diese URL sowie Ihre Portnummer (z. B. Ihr-Name.local: 8000) auf Ihrem iPhone über dieselbe Wi-Fi-Verbindung wie Ihr Computer ein.

Brogrammer
quelle
4
  1. Verbinden Sie Ihr iPhone über USB mit Ihrem Mac.

  2. Gehen Sie zum Netzwerkdienstprogramm (cmd + Leerzeichen und geben Sie "Netzwerkdienstprogramm" ein).

  3. Gehen Sie zur Registerkarte "Info"

  4. Klicken Sie auf das Dropdown-Menü "Wi-Fi" und wählen Sie "iPhone USB" wie hier gezeigt:

    Foto für Schritt 4

  5. Sie finden eine IP-Adresse wie "xxx.xxx.xx.xx" oder ähnlich. Öffnen Sie den Safari-Browser auf Ihrem iPhone und geben Sie die IP-Adresse ein: port_number

    Beispiel: 169.254.72.86:3000

[HINWEIS: Wenn das Feld IP-Adresse leer ist, stellen Sie sicher, dass Ihr iPhone über USB angeschlossen ist, beenden Sie das Netzwerkdienstprogramm, öffnen Sie es erneut und suchen Sie nach der IP-Adresse.]

Arjunkm
quelle
3

Ich schlage vor, den Namen des Computers zu verwenden, z http://mymac:1337/. Funktioniert perfekt für mich, ohne dass eine Konfiguration erforderlich ist, und ich muss mich nicht darum kümmern, die IP-Adressen aufgrund von DHCP zu ändern.

stiebitzhofer
quelle
3

Stellen Sie sicher, dass Ihr Telefon und Ihr Mac-Computer beide mit demselben WLAN verbunden sind und dass Sie bereit sind, Ihr WLAN zu nutzen http://<machine-name>.local

Muhaimin
quelle
2

Wie veröffentlicht, folgte ich der Antwort von moeamaya, musste sie jedoch nur ein wenig ändern, um meine Arbeit im Verzeichnis Sites zu sehen.

http://[name].local.~[username]/

[Name] ist wie bereits angegeben (Systemeinstellungen / Freigabe / "Computername")

[Benutzername] finden Sie unter:

/etc/apache2/users/username.conf

hoffe das hilft!

naiJenn
quelle
Wo finde ich die Datei username.conf auf einem Mac?
Kartoffel
1
Suchen Sie in Ihrem / Users-Ordner im Stammverzeichnis @brumbrum
Alfred
1
Sie können auch whoamiim Terminal schreiben
Alfred
1

Versuchte alles auf dieser Seite, http://<name>.local:<PORT>funktionierte aber erst auf meinem iPhone, nachdem ich Safari beendet und neu gestartet hatte ...

PhysikAI
quelle
0

Verwenden Sie immer die IP, die in Ihren Netzwerkeinstellungen angezeigt wird. Es ändert sich, wenn Sie den Standort ändern und eine andere drahtlose Verbindung verwenden.

In meinem Fall ist es jetzt zum Beispiel: 10.0.0.5

edgarascom
quelle
Sie können es versuchen, aber es wird nicht unter allen Umständen funktionieren. Sie haben eine Annahme getroffen, die ich in der Frage zur Netzwerkkonfiguration nicht sehe.
Benc
Nun, diese Annahme hat mir gestern geholfen, mein ähnliches Problem zu lösen. Ich konnte die IP für die Verbindung nicht finden. Terminalbefehle funktionierten nicht. Was funktionierte, war die IP in den Netzwerkeinstellungen. (Ich verwende einen lokalen Apache-Server auf einem Mac)
edgarascom