我在CentOS上设置了一个可以通过外部网络访问的静态IP的rails服务器。
如果我在该机器上转到http://my.ip.address,它可以正常工作,我可以看到我的rails服务器并且访问权限记录在/ var / log / httpd / access_log
但是,如果我在另一台计算机上执行相同操作,则连接超时,我在access_log中看不到该访问权。
netstat显示httpd正在侦听端口80,所以据我所知,一切似乎都运行正常。
如果网络不阻止访问,还有什么阻止此连接?
答案 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行。