我在 Rackspace 雲端伺服器 (Ubuntu 12.04 LTS) 上安裝了 Apache 和 Phusion Passenger,但由於某種原因我無法從外部電腦存取它。
從本地伺服器我得到正確的回應:
root@ttt:/opt# wget http://beta2012.ttt.com/
--2012-09-26 03:12:42-- http://beta2012.ttt.com/
Resolving beta2012.ttt.com (beta2012.ttt.com)... 198.101.xx.xx
Connecting to beta2012.ttt.com (beta2012.ttt.com)|198.101.xx.xx|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9365 (9.1K) [text/html]
Saving to: `index.html'
而從我的本機電腦和另一台伺服器,我得到以下資訊:
root@server:/opt# wget http://beta2012.ttt.com/
--2012-09-26 10:13:42-- http://beta2012.ttt.com/
Resolving beta2012.ttt.com... 198.101.xx.xx
Connecting to beta2012.ttt.com|198.101.xx.xx|:80... failed: Connection timed out.
Retrying.
我可以看到 A 記錄一定有效,因為我獲得了正確的 IP。 Apache 為什麼會回應本機查詢,但不回應遠端查詢?
這是一個乾淨的安裝,伺服器上除了 Apache、MySQL 伺服器、Git 和 RVM 之外幾乎沒有其他任何東西。
謝謝。
答案1
事實證明,Rackspace 預設會阻止新雲端伺服器上的所有連接埠(顯然除了用於 SSH 的 22 個連接埠)。
我必須修改 iptables 以允許連接埠 80、443 等上的流量。