Rails服务器在计算机上运行良好,但我无法通过网络访问它?

时间:2016-02-22 23:56:03

标签: ruby-on-rails ruby networking server

我在CentOS上设置了一个可以通过外部网络访问的静态IP的rails服务器。

如果我在该机器上转到http://my.ip.address,它可以正常工作,我可以看到我的rails服务器并且访问权限记录在/ var / log / httpd / access_log

但是,如果我在另一台计算机上执行相同操作,则连接超时,我在access_log中看不到该访问权。

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

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

2 个答案:

答案 0 :(得分:0)

您可能需要使用-b 0.0.0.0启动rails服务器(旧版本不需要此版本)。

答案 1 :(得分:0)

Aetherus是对的。 CentOS默认阻止端口80。我按照他的链接中的指南,并能够解决问题。

对于将来的用户,这些是解决问题的命令:

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

第一行在iptables配置中添加一行(在第5行),接受端口80上的流量。第二行保存配置,使其在重新启动时保持不变。

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