无法访问分配给Rails 4.2的端口,但4.04可以正常工作


8

我已经安装了Ruby 2.1.2和Rails 4.2。

软件包安装运行无错误。

我可以做一个Rails C而不会出错。

Rails s -p3004可以使用webrick或Thin启动,而不会出现错误

当我浏览至mytestsite:3004野生动物园,Firefox和Chrome时,均报告“无法连接到服务器”

在任何系统日志中都不会显示错误;syslog,lfd.log,auth.log或任何Apache日志。

如果启动4.04站点,则端口3001、3002可以正常工作。如果我关闭4.04,并在端口3001或3002上启动4.2,则会出现“无法连接到服务器”错误。对我来说,这似乎不是阻止端口的防火墙问题。尽管如此,iptables -L报告端口3004已打开:

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

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  

(薄的结果相同)。

Telnet localhost 3004在服务器上工作,但是从另一台服务器到端口和ip地址的telnet导致连接被拒绝。

ps报告程序已加载:

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

netstat也确认了这一点:

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

但是mmap报告端口已关闭:

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  

并且到服务器3004的远程登录报告连接被拒绝。

就像我说的那样,我认为这是一个防火墙问题,除了更改为端口3001(我知道可以与Rails 4.04一起使用)而无法在4.2上失败。有人有什么建议吗?

Answers:


16

WEBrick绑定到127.0.0.1,而不是INADDR_ANY,因此您只能通过该地址访问它。如果要设置绑定的地址,请使用该-b选项。例如:

rails s -b 0.0.0.0 -p 3004
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.