Connecter l'appareil au serveur localhost Mac? [fermé]


99

Comment autoriser un appareil, par exemple un iPhone, à se connecter via un réseau WLAN au serveur localhost de mon Mac?

Sur mon Mac, j'exécute un serveur HTTP Node.js "Hello World" qui sert une page sur laquelle Safari s'ouvre avec succès http://localhost:1337. Et, fonctionnant ipconfig getifaddr en1dans les sorties du terminal 192.168.1.9.

Mais, Safari, sur iPhone et Mac, affiche "Safari ne peut pas se connecter au serveur" lorsqu'il tente de s'ouvrir http://192.168.1.9:1337.

Je ne pense pas que cela devrait impliquer la redirection de port car je veux que le serveur HTTP soit uniquement disponible en privé, pas publiquement.

En relation:



J'ai été surpris de ne pas voir une réponse comme celle-ci, qui a fonctionné pour moi: stackoverflow.com/a/41857012/470749
Ryan

Réponses:


55

J'ai eu le même problème. J'ai éteint mon WI-FI sur mon Mac, puis je l'ai rallumé, ce qui a résolu le problème. Cliquez sur Paramètres> Désactiver le Wi-Fi.

Je l'ai testé en allant sur Safari sur mon iPhone et en saisissant mon nom d'hôte ou mon adresse IP. Par exemple: http://<name>.localouhttp://10.0.1.5


étrangement, cela a fonctionné pour moi! Merci beaucoup. Je ne comprends pas pourquoi.
Björn Grossmann

3
plus un pour <name>.local- Fini les adresses IP statiques pour les tests!
Adam Carter

J'ai passé une journée entière à essayer de comprendre cela. Activer / désactiver le WiFi de mon Mac l'a corrigé. Bizarre.
oif_vet

Le basculement du Wi-Fi Mac l'a également corrigé pour moi. Je me demande s'il s'agit d'un problème Mac ou d'un problème de routeur, ou d'un problème nodejs. Des idées?
neoneye

1
http: // <nom> .local a fonctionné pour moi. Pour développer la réponse, le <nom> de votre Mac se trouve dans Préférences Système> Partage . Sous le nom de votre ordinateur: vous pouvez trouver des ordinateurs sur votre réseau local qui peuvent accéder à votre ordinateur à: <nom> .local
John Lay

42

Demandez à votre serveur d'écouter au 0.0.0.0lieu de localhost.


1
Ahhhh merci cela a fonctionné pour moi
aks.

1
Pour toute personne ayant des problèmes avec les autres réponses, essayez-la!
Trent

5
Vous pouvez également spécifier «0.0.0.0» pour se lier directement à l'adresse IP locale. Évitera les problèmes si vous changez de réseau et ne recevez pas la même IP.
Cole Murray

Désolé, mais comment "faire écouter votre serveur" exactement?
gmarais

@ColeMurray, désolé pour la réponse retardée. Merci pour votre suggestion. Je viens de mettre à jour ma réponse.
ma11hew28

30

Je n'ai pu accéder à mon iPhone qu'en utilisant http://name.local:1337. Vous devez ajouter le ".local" Vous pouvez trouver le nom de votre ordinateur sous Préférences Système / Partage / "Nom de l'ordinateur".


J'ai essayé d'utiliser l'adresse IP avec et sans pare-feu et de nombreuses autres solutions suggérées et c'est la seule qui a fonctionné. J'exécute un site localhost sur le port 3000 avec express en utilisant le nœud js.
lostAtSeaJoshua

Vous pouvez également trouver votre "nom" en tapant whoamidans la console.
Jadam

1
@Jadam Cette technique ne fonctionne pas pour moi. J'ai deux noms différents. Pour une situation de serveur local, le "Nom de l'ordinateur" est celui qui fonctionne.
moeamaya

1
Pour moi, je ne suis jamais arrivé nulle part en utilisant name.local, mais l'utilisation de l'adresse IP réelle fonctionnait. Je dirais dépanner en utilisant des adresses IP réelles spécifiques par opposition à la commodité de quelque chose comme name.local qui ajoute juste une autre couche de complication.
MarsAndBack

1
Cela devrait être la réponse acceptée. Il ne nécessite aucune configuration supplémentaire ou modification du fichier serveur Node.js. actuel. @ ma11hew28
BenS

14

Essayez d'activer le partage Internet:
ouvrez les Préférences Système -> Partage. Cochez Partage Internet pour l'activer, il vous demandera de confirmer votre action, sélectionnez ok. Si votre iPhone est connecté via USB, l'iPhone USB est coché dans la liste «Partage de votre connexion» sur le côté droit.
Après cela, essayez d'accéder à votre serveur local en utilisant l'IP de votre mac sur le wifi.


9

Mon problème était le même, mais la solution consistait à modifier un paramètre de pare-feu. Il s'est avéré que ce nœud était configuré pour bloquer le trafic entrant. Je savais que quelque chose n'allait pas parce que je pouvais accéder à mon serveur localhost à partir de mon téléphone.

Allez dans Préférences système -> Sécurité et confidentialité -> Pare - feu -> Options du pare-feu , puis faites défiler vers le bas jusqu'à ce que vous trouviez le nœud et assurez-vous que le paramètre du nœud est défini sur Autoriser les connexions entrantes .

Après avoir modifié le paramètre, je pouvais accéder au serveur localhost (port 3000) fonctionnant sur mon Mac en allant sur http://192.168.1.11:3000


Le pare-feu était le seul coupable. Tout le reste allait bien.
mythicalcoder

oh garçon, tu m'as sauvé! Merci!!
GoOlga

7

Je résous un problème similaire.

  • connecté Mac et iPhone au même Wi-Fi
  • modifiez le paramètre Wi-Fi de l'iPhone, définissez le proxy http sur manuel et remplacez le serveur par votre adresse IP Mac et le réglage du port. Mon port a 80 ans.

image un

image deux

  • vous pouvez entrer http://<Mac ip>:<your customer server port>dans le safari de l'iPhone

5

Les utilisateurs de MacOS Sierra peuvent trouver leur URL personnalisée générée automatiquement en accédant System Preferences > Sharinget en vérifiant sous l'entrée de texte Nom de l'ordinateur. Pour y accéder, entrez cette URL, ainsi que votre numéro de port (par exemple votre-nom.local: 8000), sur votre iPhone via la même connexion Wi-Fi que votre ordinateur.


4
  1. Connectez votre iPhone à votre Mac via USB.

  2. Allez dans Utilitaire réseau (cmd + espace et tapez «utilitaire réseau»)

  3. Allez dans l'onglet "Info"

  4. Cliquez sur le menu déroulant qui dit "Wi-Fi" et sélectionnez "iPhone USB" comme indiqué ici:

    Photo de l'étape 4

  5. Vous trouverez une adresse IP comme "xxx.xxx.xx.xx" ou similaire. Ouvrez le navigateur Safari sur votre iPhone et entrez IP_address: numéro_port

    Exemple: 169.254.72.86:3000

[REMARQUE: Si le champ d'adresse IP est vide, assurez-vous que votre iPhone est connecté via USB, quittez Utilitaire réseau, ouvrez-le à nouveau et vérifiez l'adresse IP.]


3

Je suggère d'utiliser le nom de l'ordinateur, par exemple http://mymac:1337/. Fonctionne parfaitement pour moi sans aucune configuration requise et je n'ai pas à me soucier de changer les adresses IP en raison de DHCP.


3

assurez-vous que votre téléphone et votre machine mac sont tous deux connectés au même wifi et que vous êtes prêt à http://<machine-name>.local


2

Tel que publié, j'ai suivi la réponse de moeamaya mais j'ai dû la modifier un peu pour voir mon travail dans le répertoire Sites.

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

[nom] est comme indiqué déjà (Préférences système / partage / "Nom de l'ordinateur")

[username] se trouve à:

/etc/apache2/users/username.conf

J'espère que cela t'aides!


Où puis-je trouver le fichier username.conf sur un Mac?
pomme de terre

1
Regardez dans votre dossier / Users à la racine @brumbrum
Alfred

1
Vous pouvez également écrire whoamidans le terminal
Alfred

1

J'ai tout essayé sur cette page, mais http://<name>.local:<PORT>je n'ai travaillé sur mon iPhone qu'après avoir quitté et redémarré Safari ...


0

Utilisez toujours l'adresse IP indiquée dans vos paramètres réseau. Il change lorsque vous changez d'emplacement et que vous utilisez une autre connexion sans fil.

Par exemple dans mon cas maintenant c'est: 10.0.0.5


Vous pouvez essayer, mais cela ne fonctionnera pas dans toutes les circonstances. Vous avez fait une hypothèse que je ne vois pas dans la question, à propos de la configuration du réseau.
benc

Eh bien, cette hypothèse m'a aidé à résoudre mon problème similaire hier. Je n'ai pas trouvé l'adresse IP pour me connecter. Les commandes du terminal ne fonctionnaient pas. Ce qui a fonctionné, c'était l'IP dans les paramètres réseau. (J'utilise le serveur local Apache sur Mac)
edgarascom

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.