Centos

無法連接到 Centos 6.3 上的 Ruby on Rails 開發伺服器

  • December 14, 2013

我無法連接到我的 Ruby on Rails 開發伺服器:

當我在不同的網路瀏覽器中輸入 192.168.0.10:3000 時,連接就會超時。

我懷疑問題出在我的防火牆配置上,但我試圖打開所有東西,但這似乎不起作用。

伺服器在我的本地網路上,具有靜態 IP 並且配置正確 - 我可以通過 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    

任何解決此問題的幫助將不勝感激

看起來問題是因為當您添加您使用的 open all 行時,iptables -A INPUT ...它已在 REJECT all 規則之後儘職盡責地將其添加到 INPUT 鏈的末尾。

由於 iptables 在第一場比賽中獲勝,因此您的接受所有規則永遠不會匹配,因此埠 3000 被阻止。

您應該使用iptables -I...將規則插入到鏈中的特定位置或開頭,例如

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

應該做你想做的。

如果您希望保存規則,以便在重新啟動後一切正常,請執行以下操作:

service iptables save

引用自:https://serverfault.com/questions/418955