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:

ma11hew28
la source
1
question répondue ici stackoverflow.com/questions/9304058/…
Andreas Norman
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

johnnieb
la source
é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.

ma11hew28
la source
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".

moeamaya
la source
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.

maqbulh
la source
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

David Rajcok
la source
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
HasjOH
la source
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.

brogrammeur
la source
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.]

arjunkm
la source
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.

stiebitzhofer
la source
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

Muhaimin
la source
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!

naiJenn
la source
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 ...

physique IA
la source
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

Edgarascom
la source
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