溫馨提示×

Linux 下 Node.js 如何配置 SSL

小樊
38
2025-06-09 03:12:53
欄目: 云計算

在 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。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女