温馨提示×

怎样在Linux上配置Node.js的SSL证书

小樊
38
2025-11-24 17:54:26
栏目: 云计算

在Linux上配置Node.js的SSL证书,你需要遵循以下步骤:

  1. 准备SSL证书文件 首先,你需要获得SSL证书文件。你可以从证书颁发机构(CA)购买证书,或者使用Let’s Encrypt免费生成证书。你需要以下文件:
  • 域名证书(例如:cert.crt)
  • 私钥文件(例如:key.key)
  • CA证书链(例如:ca_bundle.crt),如果有的话
  1. 安装Node.js 如果你还没有安装Node.js,请访问官方网站(https://nodejs.org/)下载并安装适合你的Linux发行版的Node.js版本。

  2. 创建Node.js应用 在你的项目文件夹中创建一个新的Node.js应用,或者在现有项目中添加SSL配置。以下是一个简单的示例:

const https = require('https');
const fs = require('fs');
const express = require('express');

const app = express();

app.get('/', (req, res) => {
  res.send('Hello, SSL!');
});

const options = {
  key: fs.readFileSync('key.key', 'utf8'),
  cert: fs.readFileSync('cert.crt', 'utf8'),
  ca: fs.readFileSync('ca_bundle.crt', 'utf8') // 如果有的话
};

https.createServer(options, app).listen(443, () => {
  console.log('Server is running on https://yourdomain.com');
});

在这个示例中,我们使用Express框架创建了一个简单的HTTP服务器,并使用https.createServer()方法将其转换为HTTPS服务器。我们提供了SSL证书、私钥和CA证书链文件。

  1. 运行Node.js应用 在终端中,导航到项目文件夹并运行以下命令启动应用:
node app.js

现在,你的Node.js应用应该在HTTPS上运行,并使用你配置的SSL证书。

  1. 配置防火墙 确保你的Linux服务器上的防火墙允许传入的HTTPS连接。你可以使用以下命令打开443端口(HTTPS默认端口):

对于基于iptables的系统:

sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

对于基于firewalld的系统:

sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
  1. 更新DNS记录 确保你的域名DNS记录指向你的Linux服务器的IP地址。

完成以上步骤后,你应该可以在浏览器中访问https://yourdomain.com,并看到你的Node.js应用在SSL上运行。

0