não consigo acessar meus trilhos usando o IP público do meu servidor Ubuntu em um navegador

1

Eu tenho um servidor Ubuntu 16.04.1 LTS (GNU / Linux 4.4.0-63-genérico x86_64) e meu IP público é algo como 183.xx.xxx.xx (curl -4 icanhazip.com). Iniciei meu aplicativo rails usando o comando:

rails s -b0.0.0.0 -p3002

e o servidor puma foi iniciado com sucesso

    => Booting Puma
    => Rails 5.0.3 application starting in development on http://localhost:3002
    => Run 'rails server -h' for more startup options
    Puma starting in single mode...
    * Version 3.9.1 (ruby 2.4.0-p0), codename: Private Caller
    * Min threads: 5, max threads: 5
    * Environment: development
    * Listening on tcp://0.0.0.0:3002
    Use Ctrl-C to stop

Eu tentei acessar meu aplicativo no navegador usando:

 http://183.xx.xxx.xx:3002

Estou recebendo

This site can’t be reached
172.xx.xxx.xx took too long to respond.
ERR_CONNECTION_TIMED_OUT    

Qualquer ajuda é altamente Appreciate.Thanks antecipadamente!

EDIT 1

netstat -plnt

    tcp        0      0 0.0.0.0:45109           0.0.0.0:*               LISTEN      -
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -
    tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      -
    tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      -
    tcp        0      0 0.0.0.0:3002            0.0.0.0:*               LISTEN      25689/0.0.0.0:3002)
    tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      -

Um processo está sendo executado com um pid 25689

    
por current_user 15.06.2017 / 08:17

2 respostas

0

Primeiramente, eu verifico o iptables. Executando iptables -L ou deve ver algo como:

ACCEPT     tcp  --  anywhere    anywhere   tcp dpt:3002 ctstate NEW

, o que significa que o seu firewall permite a conexão a essa porta. Se você não fizer isso, tente adicionar uma regra para acessar essa porta com este comando:

sudo iptables -A INPUT -p tcp --dport 3002 -j ACCEPT
    
por 15.06.2017 / 08:58
0

Supondo que o navegador esteja na mesma máquina que o servidor, é melhor usar esse URL:

http://127.0.0.1:3002

Acessar seu próprio IP público geralmente é problemático, já que você geralmente depende de uma rota bastante complexa. 127.0.0.1 é outro nome para localhost e é a maneira padrão de se conectar a servidores na mesma máquina.

Às vezes, os servidores esperam ser acessados pelo nome de domínio. Não parece que isso seja um problema para você, mas se você seguir esse caminho, basta adicionar a seguinte linha ao seu arquivo /etc/hosts :

127.0.0.1 your.public.domain.name

Finalmente, caso você esteja confuso com a aparência de 0.0.0.0 em sua tabela netstat, observe que a tabela lista quais servidores de interface estão ouvindo . Alguns servidores estão ouvindo as interfaces all ( 0.0.0.0 ) enquanto outros estão ouvindo apenas a interface local ( 127.0.0.1 ).

    
por 15.06.2017 / 13:50