使用端口80(Ubuntu / Linode)运行Node.js的最佳实践
我在上设置了我的第一台Node.js
服务器,cloud Linux node
而我对的细节还很陌生Linux
admin。(顺便说一句,我不想同时使用Apache。)
一切都已正确安装,但是我发现除非使用,否则root login
无法监听port 80
node。但是出于安全原因,我宁愿不以超级用户身份运行它。
最佳做法是:
- 为节点设置良好的权限/用户,使其安全/沙盒化?
- 允许在这些限制内使用端口80。
- 启动节点并自动运行它。
- 处理发送到控制台的日志信息。
- 任何其他常规维护和安全问题。
我应该将端口80流量转发到其他监听端口吗?
谢谢
回答:
端口80
我在云实例上执行的操作是使用以下命令将端口80重定向到端口3000:
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000
然后,我在端口3000上启动Node.js。对端口80的请求将映射到端口3000。
您还应该编辑/etc/rc.local
文件并添加减去的那一行sudo
。这将在计算机启动时添加重定向。您不需要sudo
,/etc/rc.local
因为其中的命令是root
在系统引导时运行的。
日志
使用forever模块启动您的Node.js。如果崩溃,它将确保重新启动,并将控制台日志重定向到文件。
开机启动
将您的Node.js启动脚本添加到您为端口重定向编辑的文件中/etc/rc.local
。系统启动时,它将运行您的Node.js启动脚本。
Digital Ocean和其他VPS
这不仅适用于Linode,而且适用于Digital Ocean,AWS
EC2和其他VPS提供商。但是,基于RedHat的系统/etc/rc.local
是/ect/rc.d/local
。
以上是 使用端口80(Ubuntu / Linode)运行Node.js的最佳实践 的全部内容, 来源链接: utcz.com/qa/409733.html