47 votes

Comment accéder à un serveur web local sur mon ordinateur portable depuis un autre ordinateur?

J'ai une application en cours d'exécution sur mon ordinateur à 127.0.0.1:3000

J'aimerais accéder à cette application depuis un iPhone connecté au même réseau. Je l'ai déjà fait avant mais j'ai un trou de mémoire sur la façon dont je l'ai fait. Des idées?

51voto

RyanBrady Points 1903

Tout d'abord, vous devez déterminer l'adresse IP ou le nom de la machine sur laquelle vous exécutez le serveur web. Je suppose que vous exécutez le serveur web sur un Mac, car vous avez tagué votre publication avec macosx, bien que les instructions soient similaires pour les machines Linux. Donc, sur votre Mac :

  • Ouvrez Terminal.app. C'est sous Applications-> Utilitaires.
  • Exécutez ifconfig dans le terminal. Cela vous montre toutes les interfaces réseau de la machine. L'une d'entre elles est le réseau auquel votre machine est connectée. Si votre Mac est connecté via un câble, cela devrait être en0. Notez l'adresse après inet - c'est l'adresse utilisée par votre machine.
    • Supposons que vous découvriez que c'est 192.168.10.1.
  • Vérifiez que vous pouvez vous connecter à cette adresse depuis votre serveur avec nc -v 192.168.10.1 3000. (remplacez 3000 par le port sur lequel votre application est en cours d'exécution)
    • Vous devriez voir un message comme Connexion à 192.168.10.1 3000 port [tcp/http] réussie!.
    • Si cela ne fonctionne pas, voir ci-dessous.
    • Si cela fonctionne, appuyez sur ctrl-C pour quitter la session nc.
  • Essayez maintenant de vous connecter depuis votre machine cliente.
    • Si c'est une application web, vous devriez pouvoir vous connecter via le navigateur
    • Par exemple, essayez http://192.168.10.1:3000

Si vous ne parvenez pas à vous connecter à votre application sur l'adresse réelle du serveur, cela signifie que votre application n'écoute pas sur cette adresse. Vous devrez enquêter sur la façon de modifier la configuration de votre application pour modifier ce comportement. Comme je ne sais pas quelle application vous exécutez, je ne peux pas offrir de bonnes idées à ce sujet.

14voto

Momo Points 31

Trouvez le nom de votre Mac en utilisant hostname (dans l'invite de Terminal) et utilisez-le dans votre URL. Par exemple http://Tonys-iMac.local:3000/

Si pour une raison quelconque Bonjour ne fonctionne pas dans votre environnement, trouvez l'adresse de l'aéroport sur un iMac ou un MacBook avec

ipconfig getifaddr en1

ou en général avec

ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')

6voto

Chase T. Points 201

Fondamentalement, depuis les paramètres du pare-feu, vous pouvez autoriser une certaine application (par exemple, ruby) à accepter les connexions entrantes. De plus, pour permettre l'accès au monde extérieur (par exemple www), vous devrez rediriger le trafic vers votre passerelle interne : port via les paramètres de votre routeur.

Voici comment faire :

  1. Mac->Préférences Système->Partage->Activer la case à cocher "Partage Web"
  2. Mac->Préférences Système->Sécurité-> permettre à votre application (par exemple, ruby) d'accepter la connexion entrante
  3. Ouvrez un port sur le routeur (via 192.168.1.1) pour rediriger le trafic depuis votre adresse_web_ip:port vers une_gateway_locale:port

    1. Par exemple, depuis les paramètres de mon routeur Verizon -> Redirection de port -> créer une règle : rediriger vers passerelle locale (par exemple, 192.168.1.4), port personnalisé, protocole tcp, source=tout, destination=3280, tous les types de connexion, rediriger vers le port = 3000.

Fait. Maintenant, depuis l'ordinateur distant, ouvrez votre navigateur vers votre adresse IP web (trouvez-la via http://www.whatismyip.com/) + le numéro de port de destination ci-dessus, par exemple 72.189.194.65:3280, cela se connectera à votre local 192.168.1.4:3000

Remarque : Je suis sous Mac OSX 10.7.5

3voto

Tieme Points 101

Si l'application écoute sur 127.0.0.1:3000 uniquement, vous ne pourrez pas y accéder depuis un autre ordinateur. Pour ce faire, vous devriez modifier la configuration pour écouter sur l'IP ou 0.0.0.0 (toutes les interfaces disponibles). C'est l'option un.

La deuxième option est d'utiliser un proxy.

La troisième option est si vous pouvez faire du ssh depuis l'iPhone, vous pouvez également utiliser le forwarding ssh.

ssh user@host -L 3000:127.0.0.1:3000

Ensuite, sur votre iPhone, ouvrez 127.0.0.1:3000

2voto

Sven Points 95985

127.0.0.1 est l'adresse locale que chaque ordinateur a pour lui-même. Vous devez découvrir quelle est l'adresse IP réelle (ou le nom de l'hôte/Bonjour) de la machine. Allez dans Préférences Système, Réseau et recherchez l'IP de la machine, soit pour le port Ethernet si vous utilisez un câble, soit pour l'Airport si vous utilisez le WLAN. Ensuite, ouvrez cette adresse avec la partie :3000 dans Safari sur l'iPhone.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X