繁体   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