簡體   English   中英

為什么在端口80上運行node.js可能不安全?

[英]Why is running node.js on port 80 might not be safe?

我知道nodejs可以通過以下方式在端口80上運行:

  • 用apache / nginx設置代理
  • 使用iptables規則設置端口重定向
  • 在應用程序的端口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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM