2011-08-26 17 views

回答

2

如果你想的WebSockets,不要把它背後nginx的。可能有一些我不知道的方式,但是DotCloud doesn't support WebSockets with Node.js because of its reliance on nginx,他們很瞭解nginx。

我假設你想運行在端口80上的服務器如果節點是你的主要服務器,這將意味着無論是:

  • 運行節點作爲根。這通常並不理想,因爲應用程序代碼中存在潛在的錯誤,並且根訪問可能會導致更多的損害。如果虛擬機專門用於特定用途,則所有備份都會在虛擬機外部進行,重建過程很快,但這可能不是什麼大問題。
  • Using iptables to forward network traffic to port 80 to a higher-numbered port.我設置了它,我覺得這是一個很好的解決方案。

編輯:您也可以node.js的綁定到端口80碼頭項目(用於Java Web服務器)suggests this technique後以root身份運行和downgrade to a non-root user with setuid

0

nginx不完全支持HTTP 1.1。然而,工作正在完成,並可能很快集成到開發分支,所以保持你的位數交叉,並看看this mailing list thread看看我在說什麼(有補丁,但我還沒有嘗試過它們)。更多討論here

根據你的需要,你可以做什麼Ben建議使用IPTables,雖然我也'隱身'高端口使用標記模塊;我已經提高了simple shell script,這將爲你做。

如果你需要80上的其他應用程序,你需要代理; haproxy是一個選項,但您可以使用優秀的node-http-proxy保留所有節點。

相關問題