Não é possível acessar as portas atribuídas ao Rails 4.2, mas o 4.04 funciona bem

8

Eu tenho o Ruby 2.1.2 instalado e o Rails 4.2.

A instalação do pacote é executada sem erros.

Eu posso fazer um Rails C sem erro.

Rails s -p3004 é lançado com webrick ou thin sem erro

Quando eu navego para mytestsite: 3004 safari, firefox e chrome todos relatam "não é possível conectar ao servidor"

Nenhum erro é exibido em nenhum registro do sistema; syslog, lfd.log, auth.log ou qualquer um dos logs do apache.

Se eu lançar meu site 4.04, as portas 3001 e 3002 funcionarão bem. Se eu derrubar o 4.04 e iniciar o 4.2 na porta 3001 ou 3002, recebo o erro 'não é possível conectar ao servidor'. Isso parece significar para mim que não é um problema de firewall bloqueando a porta. No entanto, iptables -L informa que a porta 3004 está aberta:

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

Relatórios do Rails:

=> Booting WEBrick  
=> Rails 4.2.0.beta1 application starting in development on http://localhost:3004   
=> Run 'rails server -h' for more startup options  
=> Ctrl-C to shutdown server  
[2014-09-02 21:31:06] INFO WEBrick 1.3.1  
[2014-09-02 21:31:06] INFO ruby 2.1.1 (2014-02-24) [x86_64-linux]  
[2014-09-02 21:31:06] INFO WEBrick::HTTPServer#start: pid=4599 port=3004  

(mesmo resultado com thin).

Telnet localhost 3004 funciona a partir do servidor, no entanto, o telnet de outro servidor para a porta e o endereço IP resulta em uma conexão recusada.

e ps informa que o programa está carregado:

ps aux|grep 3004  
user 1062 0.0 0.5 578600 183996 pts/2 Sl+ 20:15 0:03 /home/user/.rvm/rubies/ruby-    2.1.1/bin/ruby bin/rails s -p3004

que também é confirmado pelo netstat:

netstat -tpln | grep 3004  
tcp 0 0 127.0.0.1:3004 0.0.0.0:* LISTEN 1062/ruby  

mas o mmap informa que a porta está fechada:

Starting Nmap 6.40 ( http://nmap.org ) at 2014-09-02 21:33 UTC  
Nmap scan report for localhost (127.0.0.1)  
Host is up (0.000059s latency).  
rDNS record for 127.0.x.1: local_host.local_domain  
PORT STATE SERVICE  
3004/udp closed unknown  

E um telnet para o servidor 3004 reporta conexão recusada.

Como eu disse, acho que foi um problema de firewall, exceto que a mudança para a porta 3001, que eu sei trabalhar com o Rails 4.04, falha com o 4.2. Alguém tem alguma sugestão?

    
por UnConundrum 03.09.2014 / 02:00

1 resposta

15

O WEBrick está vinculado a 127.0.0.1 em vez de ao INADDR_ANY, portanto, você só pode acessá-lo por meio desse endereço. Se você quiser definir o endereço ao qual ele se liga, use a opção -b . Por exemplo:

rails s -b 0.0.0.0 -p 3004
    
por 03.09.2014 / 02:33