No se puede acceder a los puertos asignados a Rails 4.2, pero 4.04 funciona bien


8

Tengo instalado Ruby 2.1.2 y Rails 4.2.

La instalación del paquete se ejecuta sin error.

Puedo hacer un Rails C sin error.

Rails s -p3004 se inicia con webrick o thin sin error

Cuando busco en mytestsite: 3004 safari, firefox y chrome todos informan "no se puede conectar al servidor"

No se muestran errores en ningún registro del sistema; syslog, lfd.log, auth.log o cualquiera de los registros de apache.

Si inicio mi sitio 4.04, los puertos 3001, 3002 funcionan bien. Si derribo 4.04 y lanzo 4.2 en el puerto 3001 o 3002, aparece el error 'no se puede conectar al servidor'. Esto parece significar para mí que no se trata de un problema de firewall que bloquea el puerto. No obstante, iptables -L informa que el puerto 3004 está abierto:

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

Rails informa:

=> 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  

(mismo resultado con thin).

Telnet localhost 3004 funciona desde el servidor, sin embargo, telnet desde otro servidor al puerto y la dirección IP da como resultado una conexión rechazada.

y ps informa que el programa está cargado:

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 también es confirmado por netstat:

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

pero mmap informa que el puerto está cerrado:

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  

Y un telnet al servidor 3004 informa que la conexión se ha rechazado.

Como dije, creo que fue un problema de firewall, excepto que el cambio al puerto 3001, que sé que funciona con Rails 4.04, falla con 4.2. ¿Alguien tiene alguna sugerencia?

Respuestas:


16

WEBrick está vinculado a 127.0.0.1 en lugar de a INADDR_ANY, por lo que solo puede acceder a través de esa dirección. Si desea establecer a qué dirección se une, use la -bopción Por ejemplo:

rails s -b 0.0.0.0 -p 3004
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.