linux

Node.js在Linux上如何配置SSL

小樊
54
2025-07-23 16:51:59
栏目: 云计算

在Linux上为Node.js应用程序配置SSL,您需要首先获取一个SSL证书。您可以选择购买一个证书,或者使用免费的Let’s Encrypt证书。以下是使用Let’s Encrypt证书配置SSL的步骤:

  1. 安装Certbot: Certbot是一个自动化的工具,用于获取和更新Let’s Encrypt证书。根据您的Linux发行版,使用以下命令之一安装Certbot。

对于基于Debian的系统(如Ubuntu):

sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx

对于基于RHEL的系统(如CentOS、Fedora):

sudo yum install epel-release
sudo yum install certbot python3-certbot-nginx
  1. 获取SSL证书: 运行以下命令,将yourdomain.com替换为您的域名:
sudo certbot --nginx -d yourdomain.com

Certbot将自动配置Nginx以使用SSL,并将证书文件存储在/etc/letsencrypt/live/yourdomain.com/目录中。

  1. 配置Node.js应用程序: 在Node.js应用程序中,您需要使用HTTPS模块来启用SSL。首先,您需要导入HTTPS模块并创建一个HTTPS服务器。以下是一个简单的示例:
const https = require('https');
const fs = require('fs');

const options = {
  key: fs.readFileSync('/etc/letsencrypt/live/yourdomain.com/privkey.pem', 'utf8'),
  cert: fs.readFileSync('/etc/letsencrypt/live/yourdomain.com/fullchain.pem', 'utf8')
};

https.createServer(options, (req, res) => {
  res.writeHead(200);
  res.end('Hello, SSL!');
}).listen(443);

在这个示例中,我们从Let’s Encrypt证书目录中读取私钥和证书文件,并将它们作为选项传递给HTTPS服务器。

  1. 重启Node.js应用程序: 保存更改并重新启动Node.js应用程序以应用新的SSL配置。

  2. 更新证书: Certbot会自动为您更新证书,但在证书到期前30天,它会发送提醒。要手动更新证书,请运行以下命令:

sudo certbot renew

现在,您的Node.js应用程序已成功配置了SSL,并可以通过HTTPS访问。

0
看了该问题的人还看了