Windows-Server-2008
如何在 windows server 2008 上使 webrick 伺服器在 web 上可訪問
這是一個 nuub 問題(我更像是一個程序員,現在有一個管理任務)。我有一個在遠端 Windows Server 2008 機器上執行良好的 rails 應用程序(它是 rails 2.3.5,我執行
ruby script/server
並且它在埠上執行良好3000
(即我可以在 localhost:3000 上訪問它)..假設機器域被稱為
domain.com
..如果我domain.com:3000
什麼也沒發生。如何在 www 上訪問此應用程序?如果我只是去
domain.com
我會看到一個 IIS 歡迎頁面。
您需要的精確步驟取決於您的網路設計和軟體/硬體設備,但請檢查從一端到另一端的所有重要點,並確保它們允許流量通過。
它可能在以下一個或多個地方停止:
- 預設情況下,Windows 防火牆會阻止傳入連接。查看控制面板 -> 管理工具 -> 具有高級安全性的 Windows 防火牆,入站規則。制定新規則“允許埠、TCP、3000、所有配置文件”。保存並重試。
- 它是如何連接到網際網路的?您可能有路由器和/或防火牆,預設情況下,這兩者都會阻止傳入連接。您需要在任何防火牆設備上打開埠 3000。如果您的伺服器有一個私有地址(192.xxx、172.xxx、10.xxx),那麼它在網路地址轉換 (NAT) 之後,您需要設置
port forwarding
將 Internet 端埠 3000 上的傳入連接發送到您的伺服器區域網路側。(以下是有關如何為各種路由器執行此操作的範例:http: //portforward.com/english/routers/port_forwarding/)- 您可以訪問
localhost:3000
,但如果您的應用程序綁定到該地址127.0.0.1:3000
,它可能只是在偵聽來自執行它的伺服器的連接。如果是這樣,請將其更改為使用伺服器的地址,例如192.168.0.1:3000
.- 伺服器是否執行任何包含防火牆層的防病毒軟體(McAfee、Norton)?這可能會阻止埠 3000 上的傳入連接。如果是這樣,請了解如何允許它通過。
這些是最有可能的事情;埠 3000 連接到您的網際網路連接,這會將它們丟棄。然後,一旦您將它們發送到您的伺服器,Windows 防火牆就會將它們丟棄。
- 也可能是因為您的客戶端電腦(McAfee、Norton 等)上的防火牆非常嚴格,或者您的客戶端 Internet 連接上有嚴格的辦公室防火牆,因此您的瀏覽器不允許在埠 3000 上連接。