nodejs在centos上的安全设置

1239
2025/4/4 15:32:47
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上配置Node.js以使用特定域名并确保其安全性,可以遵循以下步骤:

安装Node.js和npm

  1. 更新系统包:
sudo yum update
  1. 安装EPEL(Extra Packages for Enterprise Linux)仓库:
sudo yum install epel-release
  1. 安装Node.js:
  • 使用EPEL安装(推荐):
sudo yum install -y nodejs
  • 使用NVM(Node Version Manager)安装:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

安装完成后,使用以下命令检查安装是否成功:

node -v
npm -v

配置Nginx反向代理

  1. 安装Nginx:
sudo yum install nginx
  1. 启动并启用Nginx:
sudo systemctl start nginx
sudo systemctl enable nginx
  1. 配置Nginx反向代理:

编辑Nginx配置文件,通常位于 /etc/nginx/conf.d/ 目录下,创建一个新文件(如 myapp.conf),并添加以下内容:

server {
    listen 80;
    server_name example.com www.example.com;
    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host host;
        proxy_cache_bypass http_upgrade;
    }
}

保存文件后,测试Nginx配置是否正确:

sudo nginx -t

重新加载Nginx以应用更改:

sudo systemctl restart nginx

安全设置

  1. 修改SSH默认端口:

编辑 /etc/ssh/sshd_config 文件,将默认端口从22改为其他非标准端口,例如2222:

Port 2222

然后重启SSH服务:

sudo systemctl restart sshd
  1. 配置防火墙:

使用 firewalld 配置防火墙,只允许特定端口(如SSH和Node.js应用的端口)通过:

sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --permanent --add-port=3000/tcp
sudo firewall-cmd --reload
  1. 使用SELinux:

如果需要更高级别的安全加固,可以启用SELinux:

sudo yum install policycoreutils-python-utils
sudo setenforce 1
  1. 定期更新Node.js和npm:

保持Node.js和npm的最新状态,以防止安全漏洞:

sudo npm install -g npm
sudo npm update -g

以上步骤涵盖了在CentOS上安装Node.js、配置Nginx反向代理以及进行基本的安全设置。根据具体需求,可能还需要进行更多的安全加固措施,如配置SSL证书、限制访问权限等。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: centos composer如何更新