Respostas:
Primeiro, você precisa determinar o endereço IP ou o nome da máquina na qual está executando o servidor da web. Estou supondo que você esteja executando o servidor da web em um mac, desde que você marcou sua postagem por macosx
meio de instruções semelhantes às máquinas linux. Então, no seu mac:
Terminal.app
. Está abaixo Applications->Utilities
.ifconfig
no terminal. Isso mostra todas as interfaces de rede na máquina. Uma delas é a rede à qual sua máquina está ativamente conectada. Se você estiver usando uma conexão com fio, o mac deve estar en0
. Anote o endereço depois inet
- esse deve ser o endereço que sua máquina usa.
nc -v 192.168.10.1 3000
.
Connection to 192.168.10.1 3000 port [tcp/http] succeeded!
.ctrl-C
para sair da sessão nc.Se você não conseguir se conectar ao seu aplicativo no endereço real do servidor, isso significa que seu aplicativo não está escutando nesse endereço. Você precisará investigar como alterar a configuração do aplicativo para modificar esse comportamento. Como não sei qual aplicativo você está executando, não posso oferecer boas idéias sobre isso.
Encontre o nome do seu Mac usando hostname
(no prompt do Terminal) e use-o no seu URL. Por exemplo, http: //Tonys-iMac.local: 3000 /
Se, por algum motivo, Bonjour não funcionar em seu ambiente, localize o endereço do aeroporto em um iMac ou MacBook com
ipconfig getifaddr en1
ou em geral com
ipconfig getifaddr $(route -n get default|awk '/interface/ { print $2 }')
Basicamente, nas configurações do firewall, você pode permitir que um determinado aplicativo (por exemplo, ruby) aceite conexões de entrada. Além disso, para permitir o acesso ao mundo exterior (por exemplo, www), você precisará encaminhar o tráfego para o seu gateway interno: porta através das configurações do roteador.
Veja como fazer isso:
Abra uma porta no roteador (via 192.168.1.1) para encaminhar o tráfego de your_web_ip: port para um local_gateway: port
Feito. Agora, no computador remoto, abra o navegador no seu endereço IP da Web (encontre em http://www.whatismyip.com/ ) + porta # de destino acima, por exemplo, 72.189.194.65:3280, isso se conectará ao seu 192.168.1.4 local : 3000
Nota: Estou executando no Mac OSX 10.7.5
127.0.0.1 é o endereço local que todo computador possui para si. Você precisa descobrir qual é o endereço IP real (ou nome do host / Bonjour) da máquina. Vá para System Preferences, Network e procure o IP da máquina, seja para a porta Ethernet se você usar um cabo ou para o aeroporto se você usar WLAN. Em seguida, abra esse endereço junto com a parte: 3000 no Safari no iPhone.
Se o aplicativo estiver ouvindo apenas 127.0.0.1:3000, não será possível acessá-lo em outro computador. Para fazer isso, você precisará modificar a configuração para Ouvir o IP ou 0.0.0.0 (todas as interfaces disponíveis).
A segunda opção é usar um proxy.
Terceira opção: se você pode usar o ssh no iphone, também pode usar o encaminhamento por ssh.
ssh user @ host -L 3000: 127.0.0.1: 3000
Em seguida, no seu iPhone, abra 127.0.0.1:3000
0.0.0.0
! Como eu não pensei nisso?
Você já tentou isso, funcionou para mim (eu não sou afiliado a ele):
rails server -b 0.0.0.0
e navegue no seu iPhone.