无法连接到CentOS 6.3上的Ruby on Rails开发服务器

我无法连接到我的Ruby on Rails开发服务器:

当我在不同的连接上input192.168.0.10:3000到网页浏览器时,只是超时。

我怀疑问题是我的防火墙configuration,但我试图打开一切,似乎并没有工作。

服务器在我的本地networking上,有一个静态的IP,并且configuration正确 – 我可以通过SSH进入,并可以连接到互联网进行更新。 它运行CentOS 6.3,并按照以下说明安装了rails: http : //itekblog.com/ruby-on-rails-on-centos-6-3-is-easy/

服务器正在运行:我可以用wget localhost:3000下载“Welcome Aboard”页面

我认为它应该在所有接口上进行监听:

[sandy@pops testproject4]$ rails server => Booting WEBrick => Rails 3.2.8 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2012-08-18 18:29:04] INFO WEBrick 1.3.1 [2012-08-18 18:29:04] INFO ruby 1.8.7 (2011-06-30) [i386-linux] [2012-08-18 18:29:04] INFO WEBrick::HTTPServer#start: pid=9881 port=3000 

我想我已经开通了所有的港口

 [sandy@pops testproject4]$ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh REJECT all -- anywhere anywhere reject-with icmp-host-prohibited ACCEPT all -- anywhere anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination 

任何帮助解决这个将非常感激

看起来问题是因为当你添加你打开的所有行的时候,你使用了iptables -A INPUT ...它已经在REJECT all规则之后尽职地将它添加到INPUT链的末尾。

由于iptables在第一场比赛胜利你的接受所有规则从来没有匹配,所以端口3000被阻止。

你应该使用iptables -I...将规则插入到链中的某个特定位置或开始,如此

 iptables -I INPUT -p tcp --dport 3000 -j ACCEPT 

应该做你想做的。

如果你想要保存规则,所以在重新启动后,一切都会好的,做:

 service iptables save