Bem, estou estudando Ruby on Rails e já tenho uma aplicação acadêmica aqui.
Eu queria mostrar ela pro meu amigo e pensei que se eu desse o meu IP e a porta, ele conseguiria ver. Mas não é tão simples assim…
Estou usando o WEBrick (servidor built in do ruby).
Eu queria saber qual é a maneira mais simples de colocar a aplicação na internet através do meu próprio PC.
vai depender da conexao que voce possui com a internet.
O seu amigo nao consegue acessar porque algum firewall está barrando ele, se voce tem acesso a seu modem, descubra como rotear a porta que voce precisa para o seu IP. Procure no google, porque varia muito do modelo do modem.
Procure algo como Port Forwarding, NAT.
Se voce nao tiver acesso ao modem, nao sei te ajudar.
Se sim, lembre-se que a sua máquina tem um IP interno X e o “mundo” te enxerga com o IP Y, para que o mundo enxergue a sua máquina, você deve fazer um bypass da porta que a aplicação está rodando para o seu IP X responder por ela.
Daí dependerá do seu roteador! No meu tem uma tabela de correspondência:
Fiz isso, mas não funciona.
Eu acho que não está funcionando porque o cliente, no caso outro pc, não encontra o serviço, que no caso seria o WEBrick.
Eu acho que preciso fazer o WEBrick funcionar como serviço, mas não tenho idéia de como fazer isso… Até vi no Google um cara falando sobre isso, mas eu teria que instalar o Windows Server… achei estranho
Não precisa colocar o WEBrick como serviço, basta mante-lo no ar quando seu amigo for acessar. Teoriacamente se vc acessa como localhost o seu amigo acessaria pelo seu IP.
Só que se vc acessa via roteador seja wi-fi ou não você precisa configurar um forward nele, para que seu amigo enxerge o WEBrick .
Entendi.
Porém, quando entro no site: http://www.canyouseeme.org/
Aparece esta mensagem:
Error: I could not see your service on MEU IP on port (3000)
Reason: Connection timed out
Como a galera disse, o mais provavel é que você esteja atras de um router. Sendo assim ele não sabe para quem direcionar o trafego quando o destino da porta é XX(da sua aplicação).
Faça outro teste para verificar se está tudo ok com seu pc e aplicação:
peça um vizinho que também usa sua internet (já que a galera do prédio usa.) acessar sua aplicação. Nesse caso tem que funcionar, pois não passará por router.
você verifica o ip local de sua maquina e pede para o vizinho(que está na mesma rede que você) digitar no browser dele.
Para ter um certeza maior em relação a seu pc e sua aplicação é melhor você testar dentro da sua rede local.
Se estiver tudo ok(firewall etc…) outros pcs de dentro da rede local tem que conseguir acessar sua aplicação, se eles não conseguirem dificilmente quem está na internet vai conseguir.
Tente fazer esse teste…
para tentar resolver esse problema é bom você seguir essa etapa:
1 - acesso localhost --> esse você já testou e está ok (sua propria maquina acessando sua propria maquina)
2 - acesso rede local --> computadores na mesma rede local que você tem que conseguir acessar.
3 - acesso internet --> depois que o passo 1 e 2 estiver ok, tentamos descobrir porque externamente não consegue acesso.
O problema é conseguir acesso externo à aplicação local através de ip real (ip de internet).
Consigo acessar a aplicação por Localhost e REDE LOCAL, mas Internet neca di pitibiriba.
Faça esse teste:
Desative o firewall do seu computador.
Depois você habilita o acesso remoto nele, o Terminal Service.
Sendo assim você estará “visivel” na porta 3389.
Se você não conseguir conectar no pc via ts (pela internet) é quase garantido que tem um router ou firewall antes do seu computador.