18 votes

Impossible d'accéder à localhost via l'IP locale

Je veux me connecter à mon serveur Web local (serveur NodeJS) qui fonctionne sur mon MacBook avec mon iPhone.

Sur mon Mac, je peux accéder au serveur via http://localhost:3000/ . Maintenant, il suffit de remplacer localhost par l'adresse IP locale de mon Mac comme ceci http://192.168.0.13:3000/ . Cependant, sur mon iPhone, je ne peux pas accéder au serveur de cette manière et même lorsque j'essaie d'ouvrir http://192.168.0.13:3000/ sur mon Mac, aucune connexion n'est établie.

Il s'agit certainement d'un problème avec mon Mac et non avec mon programme, car lorsque j'exécute le serveur sous Windows et que j'essaie de m'y connecter avec l'adresse IP locale, tout fonctionne parfaitement.

Le fait d'essayer dans un autre réseau Wi-Fi n'aide pas non plus, et le fait de changer de port ne change rien non plus.

J'utilise Mac OSX 10.11.5 et mon pare-feu est désactivé.

Comment puis-je résoudre ce problème ?

Tables de routage ( netstat -r )

(Supprimé)

2voto

klanomath Points 63400

Pour autant que je puisse dire, le comportement est correct. Un serveur web node de base utilise dns.js pour résoudre tout nom d'hôte - qui lui-même utilise la méthode de résolution DNS du système.

Un nom d'hôte "127.0.0.1" ainsi que "localhost" ne peuvent pas être résolus par le répondeur mDNS d'OS X (ni non-inverse ni inverse).

Utilisez donc l'IP de votre Mac (par exemple 192.168.0.13) ou son nom d'hôte (par exemple tims-macbook-pro) comme nom d'hôte. Pour faire connaître le service dans Bonjour, vous devez utiliser dns-sd .

Ou créez plusieurs IP d'écoute comme dans cette q&a .

0voto

Oskar Points 1242

Vous pouvez résoudre ce problème de trois façons :

  1. Exécutez un outil d'analyse de port depuis l'iPhone pour vous assurer que le port est bien ouvert sur le Mac. Les règles de pare-feu, une mauvaise NAT, des problèmes de routeur ou de commutateur peuvent tous être la cause du fait qu'un autre appareil ne reçoit pas la bonne route vers votre Mac. Si le PC peut effectuer un scan de port ou naviguer sur le serveur web du Mac, vous saurez que ce n'est pas nécessairement le Mac.
  2. Problèmes de DNS - au lieu de coder en dur l'adresse IP, vous pourriez naviguer vers http://192.168.0.13.xip.io - qui fera en sorte que le navigateur web fonctionne si l'appareil iOS est sur une configuration uniquement IPv6. C'est peu probable, mais à un moment donné, cela deviendra plus courant. Vous pouvez également utiliser l'adresse IPv6 du Mac au lieu de l'adresse IPv4.
  3. Configuration du proxy sur iOS - là encore, si votre appareil iOS est doté d'un VPN ou d'un proxy web configuré, il ne pourra pas nécessairement accéder au serveur web du Mac. Les étapes pour résoudre ce problème sont également variées.

0voto

code8x Points 101

Essayez d'ajouter votre adresse IP locale dans httpd.conf (/etc/apache2/httpd.conf) comme ci-dessous :

Listen 12.34.56.78:80

Ecoutez : Vous permet de lier Apache à des adresses IP et/ou des ports spécifiques ports spécifiques, au lieu de la valeur par défaut.

Sauvegardez, fermez et redémarrez apache avec sudo apachectl restart .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X