2016-02-22 25 views
0

我在CentOS上安装了一个可以访问外部网络的静态ip的rails服务器。Rails服务器在计算机上正常工作,但无法通过网络访问它?

如果我去http://my.ip.address那台机器上,它工作得很好,我可以看到我的Rails的服务器和在/ var /日志/的httpd/Access_log的访问记录

但是,如果我在做同样的事情另一台计算机,连接超时,我没有在access_log中看到访问。

netstat显示httpd正在侦听端口80,所以据我所知,一切似乎都正常工作。

如果不是网络阻止访问,还有什么可以阻止此连接?

+1

我认为这可能是CentOS附带的防火墙策略。看到这个http://www.binarytides.com/open-http-port-iptables-centos/ – Aetherus

+0

这是问题,谢谢! – TrolliOlli

回答

0

你可能需要启动rails服务器-b 0.0.0.0(旧版本不需要这个)。

+0

啊,你提醒我!并验证httpd是否在0.0.0.0:80上侦听。 – Aetherus

0

Aetherus是正确的。 CentOS在默认情况下阻止了端口80。我在他的链接中跟随指南,并能够解决问题。

对于未来的用户,这些都是固定的问题的命令:

iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 
service iptables save 

第一行增加一个线路(在线路位置5)到您的iptables配置接受端口80上的第二行交通保存配置,以便在重新启动后保持不变。

请注意,如果您有任何非默认的iptables配置,您可能需要调整该命令,使其插入除位置5以外的一行。在这种情况下,使用位置5,因为它位于最后一个REJECT过滤器之上即默认在第5行。

相关问题