Linux 下 Node.js 如何配置 SSL

在 Linux 下为 Node.js 应用配置 SSL 可以通过以下步骤完成。这里我们将使用 Node.js 内置的 https 模块来创建一个简单的 HTTPS 服务器,并配置 SSL 证书和私钥。步骤 1:生成 SSL 证书和私钥你可以使用 OpenSSL 工具来生成自签名的 SSL 证书和私钥。如果你打算用于生产环境,建议从受信任的证书颁发机构(CA)购买证书。生成自签名证书和私钥o

Linux 为 Node.js 应用配置 SSL 可以通过以下步骤完成。这里我们将使用 Node.js 内置的 https 模块来创建一个简单的 HTTPS 服务器,并配置 SSL 证书和私钥。

步骤 1:生成 SSL 证书和私钥

你可以使用 OpenSSL 工具来生成自签名的 SSL 证书和私钥。如果你打算用于生产环境,建议从受信任的证书颁发机构(CA)购买证书。

生成自签名证书和私钥

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

执行上述命令后,系统会提示你输入一些信息,如国家、组织名称等。这些信息将包含在证书中。

步骤 2:创建 Node.js HTTPS 服务器

创建一个新的 JavaScript 文件,例如 server.js,并添加以下代码:

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

// 读取证书和私钥文件
const options = {
  key: fs.readFileSync('key.pem'),
  cert: fs.readFileSync('cert.pem')
};

// 创建 HTTPS 服务器
https.createServer(options, (req, res) => {
  res.writeHead(200);
  res.end('hello world\n');
}).listen(443, () => {
  console.log('Server running at https://localhost/');
});

步骤 3:运行服务器

在终端中运行以下命令启动服务器:

node server.js

步骤 4:访问服务器

打开浏览器并访问 https://localhost/。由于我们使用的是自签名证书,浏览器会显示一个安全警告。你可以选择继续访问以查看服务器响应。

注意事项

  1. 生产环境:在生产环境中,建议使用受信任的证书颁发机构(CA)签发的证书,而不是自签名证书。
  2. 端口:HTTPS 默认使用端口 443,确保该端口在你的服务器上是开放的。
  3. 防火墙:确保你的防火墙允许通过 HTTPS 端口的流量。

使用 Let’s Encrypt 获取免费证书

如果你需要一个受信任的证书,可以使用 Let’s Encrypt 提供的免费证书。以下是使用 Certbot 获取证书的步骤:

  1. 安装 Certbot
sudo apt update
sudo apt install certbot
  1. 获取证书
sudo certbot --http-01-port=80 -d yourdomain.com

按照提示完成证书的获取和配置。

  1. 配置 Node.js 服务器

将生成的证书和私钥路径配置到你的 Node.js 服务器代码中:

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

Certbot 会自动设置一个 cron 任务来定期续期证书。

通过以上步骤,你可以在 Linux 下为 Node.js 应用配置 SSL。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1342003.html

(0)
派派
上一篇 2025-06-09
下一篇 2025-06-09

发表回复

登录后才能评论