J'ai une application en cours d'exécution sur mon ordinateur à l'adresse 127.0.0.1:3000
J'aimerais accéder à cette application à partir d'un iPhone connecté au même réseau. J'ai déjà fait cela auparavant, mais je n'ai pas précisé comment je l'avais fait. Des idées?
rails server -b 0.0.0.0
, puis naviguez sur ceci sur votre iPhone.Réponses:
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 utilisez le serveur Web sur un Mac puisque vous avez balisé votre message alors que
macosx
les instructions sont similaires pour les machines Linux. Alors, sur ton mac:Terminal.app
. C'est sousApplications->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 vous mac est sur une connexion filaire qui devrait êtreen0
. Prenez note de l'adresse aprèsinet
. Cette adresse doit être celle utilisée par votre appareil.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 à l'adresse réelle du serveur, cela signifie que votre application n'écoute pas cette adresse. Vous devrez étudier comment modifier la configuration de votre application pour modifier ce comportement. Étant donné que je ne sais pas quelle application vous utilisez, je ne peux offrir aucune bonne idée à ce sujet.
la source
Recherchez le nom de votre Mac en utilisant
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 }')
la source
En gros, à partir des paramètres du pare-feu, vous pouvez autoriser une application donnée (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 sur votre passerelle interne: port via les paramètres de votre routeur.
Voici comment faire ceci:
Ouvrez un port sur le routeur (via 192.168.1.1) pour transférer le trafic de your_web_ip: port vers une passerelle local: port
Terminé. Maintenant, à partir de l’ordinateur distant, ouvrez votre navigateur avec votre adresse IP web (recherchez via http://www.whatismyip.com/ ) + le numéro de port de destination ci-dessus, par exemple 72.189.194.65:3280, ce qui permettra de vous connecter à votre 192.168.1.4 local. : 3000
Remarque: j'utilise Mac OSX 10.7.5.
la source
127.0.0.1 est l'adresse locale que chaque ordinateur possède pour lui-même. Vous devez connaître la véritable adresse IP (ou le nom d'hôte / Bonjour) de la machine. Accédez aux Préférences Système, Réseau et recherchez l'adresse IP de la machine, que ce soit pour le port Ethernet si vous utilisez un câble ou pour l'aéroport si vous utilisez le WLAN. Ouvrez ensuite cette adresse avec la partie: 3000 dans Safari sur iPhone.
la source
Si l'application écoute uniquement sur 127.0.0.1:3000, vous ne pourrez pas y accéder depuis un autre ordinateur. Pour ce faire, vous devez modifier la configuration sur Listen the IP ou 0.0.0.0 (toutes les interfaces disponibles) .Cette option 1.
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 ton iphone ouvert 127.0.0.1:3000
la source
0.0.0.0
! Comment pourrais-je ne pas penser à ça?Avez-vous essayé cela, cela a fonctionné pour moi (je ne suis pas affilié à cela):
https://github.com/progrium/localtunnel
la source