Publicar aplicação através do meu próprio servidor

Fala pessoal,

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.

Abraço

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.

Na verdade eu entrei em:


e tentei acessar pela minha própria máquina com o e-mail que o site mostrou (o meu IP).

primeiro voce precisa liberar a porta, como eu disse antes, depois voce pode testar por aqui:
http://www.canyouseeme.org/
:wink:

O site diz que não enxerga o serviço.

Imagino que eu precise rodar o WEBrick como serviço então.

quero algo parecido, ate sei como fazer, é publicar um arquivo em jar, em applet… alguem ja fez isso. sabe bem como é…

[url]? sem ter que transformar tudo para applet…

o próprio jar, roda como applet… acho que é só mais um comando… ajuda?

www.raghyjose.net

não seria muito bem isso…

e minha aplicação é Rails, não Java

[quote=theodrums]não seria muito bem isso…

e minha aplicação é Rails, não Java[/quote]

Então, eu já tive o mesmo problema.

Primeiro deve ser checado o Firewall.

Você usa roteador?

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:

port IP

8080 10.0.0.1

mais ou menos isso :slight_smile:

[]'s

Oi Jesuino,

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

Eu fiz um teste ligando meu pc diretamente à internet, sem passar pelo roteador. Entrei no site http://www.whatsmyip.org

Deu timeout em todas as portas testadas.
Meu firewall está desativado.

Você está conectado diretamente à internet? sem um router ? É speedy, virtua?

Internet predial. Wnet. Aqui em casa tirei o router… mas o prédio deve ter outro.

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.

O teste que estou fazendo é digitar no browser o meu IP de INTERNET mais a porta. Acho q deveria funcionar.

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.

Interessante,
Localhost - OK
Rede Local - OK! Testei do meu celular
Internet - nops…

Ainda não consegui resolver esse lance…

Atualizando…

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.

Parece mesmo ser isso…