[英]Why is running node.js on port 80 might not be safe?
我知道nodejs可以通過以下方式在端口80上運行:
第一個選項不是最簡單的,需要比我需要的更多依賴項。 第二個可以工作,但是在我的OpenVZ VPS上不能(並且我不能編譯自定義的Linux內核)。
我也需要處理一些子域,在閱讀了這個stackoverflow答案之后 ,我嘗試了第三個解決方案。 它工作完美且易於執行。
我想知道直接在80端口上運行nodejs時是否可能存在一些安全問題? 我該如何解決/找到這些?
我想使用pm2來處理進程,它可能不是以root身份運行( 再見節點-永遠的pm2問候 )。
第一個選項不是最簡單的,需要更多的依賴,然后我需要
請回顧為什么出於許多正當的理由(實際上應該以這種方式) 而在框架Web服務器之前使用http服務器 。
使用iptables規則設置端口重定向
這可能比直接讓您的節點進程在端口80上偵聽要好,盡管我還沒有看到生產中使用的這種類型的配置。
在應用程序的端口80上進行快速監聽
從功能上來說,這是一個糟糕的選擇,因為您無法獲得上面鏈接的答案中概述的好處,但是,從嚴格的安全角度來看,要記住的關鍵是您不能以root身份運行節點進程 ,這太可怕了安全問題。 您必須是root用戶才能綁定到端口80,因為這是unix的規則,但是您可以並且必須在綁定到該端口后立即更改為特權較低的用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.