J'ai une application en cours d'exécution sur mon ordinateur au 127.0.0.1:3000
Je souhaite accéder à cette application à partir d'un iPhone connecté au même réseau. Je l'ai déjà fait auparavant, mais je n'ai pas expliqué comment je l'ai fait. Des idées?
Vous devez d'abord 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 depuis que vous avez marqué votre message macosx
bien que les instructions soient similaires pour les machines Linux. Donc, sur votre mac:
Terminal.app
. C'est sous Applications->Utilities
.ifconfig
dans le terminal. Cela vous montre toutes les interfaces réseau sur la machine. L'un d'eux est le réseau auquel votre machine est activement connectée. Si votre Mac est sur une connexion filaire qui devrait être en0
. Notez l'adresse après inet
- qui devrait être l'adresse utilisée par votre machine. nc -v 192.168.10.1 3000
. Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
.ctrl-C
pour quitter la session nc.Si vous ne parvenez pas à vous connecter à votre application sur la véritable adresse du serveur, cela signifie que votre application n'écoute pas sur cette adresse. Vous devrez rechercher comment 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.
Recherchez le nom de votre Mac à l'aide de hostname
(à l'invite du 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, recherchez 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 }')
Fondamentalement, à partir des 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 transférer le trafic vers votre passerelle interne: port via les paramètres de votre routeur.
Voici comment procéder:
Ouvrez un port sur le routeur (via 192.168.1.1) pour transférer le trafic de votre_web_ip: port vers un local_gateway: port
Terminé. À partir de l'ordinateur distant, ouvrez votre navigateur sur votre adresse IP Web (recherchez via http://www.whatismyip.com/ ) + port de destination # ci-dessus, par ex. 72.189.194.65:3280, cela se connectera à votre 192.168.1.4:3000 local
Remarque: je fonctionne sur Mac OSX 10.7.5
127.0.0.1 est l'adresse locale que chaque ordinateur possède. Vous devez savoir quelle est la véritable adresse IP (ou nom d'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'aéroport si vous utilisez le WLAN. Ouvrez ensuite cette adresse avec la partie: 3000 dans Safari sur l'iPhone.
Si l'application écoute uniquement sur 127.0.0.1:3000, vous ne pouvez pas y accéder à partir d'un autre ordinateur. Pour ce faire, vous devez modifier la configuration pour écouter l'IP ou 0.0.0.0 (toutes les interfaces disponibles) .C'est la première option.
La deuxième option consiste à utiliser un proxy.
La troisième option est que si vous pouvez utiliser ssh depuis l'iphone, vous pouvez également utiliser le transfert ssh.
utilisateur ssh @ hôte -L 3000: 127.0.0.1: 3000
Puis sur votre iphone ouvrez 127.0.0.1:3000
Avez-vous essayé cela, cela a fonctionné pour moi (je n'y suis pas affilié):