centos

Node.js在CentOS上的网络配置有哪些要点

小樊
57
2025-10-17 11:56:02
栏目: 编程语言

1. Node.js应用自身网络配置
Node.js应用需明确监听的IP地址和端口,以控制网络访问范围。若要让应用监听所有网络接口(允许外部访问),可将IP设为0.0.0.0;若仅限本地访问,则用127.0.0.1。例如:

const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => res.send('Hello World'));
app.listen(port, '0.0.0.0', () => console.log(`Server running at http://0.0.0.0:${port}/`));

此外,可通过环境变量(如process.env.PORT)区分开发、测试、生产环境的端口配置,提升灵活性。

2. CentOS系统防火墙配置
CentOS默认使用firewalld作为防火墙管理工具,需开放Node.js应用的端口(如3000、80、443)以允许外部流量。操作步骤如下:

若需更严格的控制,可创建专门的nodejs区域并将端口添加至该区域。

3. SELinux策略调整(若启用)
若SELinux处于enforcing模式(默认开启),可能会阻止Node.js绑定到非特权端口(1024以下)或外部访问。解决方法:

此操作需安装policycoreutils-python-utils包(sudo yum install policycoreutils-python-utils)。

4. 反向代理配置(生产环境推荐)
使用Nginx或Apache作为反向代理,可提升安全性(隐藏Node.js端口)、处理SSL加密、负载均衡及静态文件服务。以Nginx为例:

配置后,用户通过http://yourdomain.com访问Node.js应用,无需暴露3000端口。

5. 端口与网络接口绑定

6. 系统服务化管理(可选但推荐)
将Node.js应用配置为systemd服务,可实现开机自启、进程守护(自动重启崩溃的进程)。操作步骤:

此方式提升了Node.js应用的稳定性和可管理性。

0
看了该问题的人还看了