[英]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.