溫馨提示×

CentOS Node.js 怎樣配置 SSL 證書

小樊
48
2025-04-30 19:18:16
欄目: 云計算

在 CentOS 上配置 Node.js 應用的 SSL 證書,可以按照以下步驟進行:

1. 獲取 SSL 證書

首先,你需要獲取一個 SSL 證書。你可以從 Let’s Encrypt 免費獲取證書,或者從其他證書頒發機構購買。

使用 Let’s Encrypt 獲取證書

你可以使用 Certbot 來獲取和自動續期 Let’s Encrypt 證書。

sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx

然后運行 Certbot 來獲取證書:

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

按照提示完成證書的獲取和配置。

2. 配置 Node.js 應用

假設你已經有一個 Node.js 應用,并且使用的是 Express 框架。你需要修改你的應用代碼來使用 HTTPS。

安裝必要的模塊

確保你已經安裝了 httpsfs 模塊,這些模塊是 Node.js 內置的,不需要額外安裝。

創建 HTTPS 服務器

在你的 Node.js 應用中,創建一個 HTTPS 服務器并配置 SSL 證書。

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

const app = express();

// 讀取 SSL 證書文件
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 服務器
https.createServer(options, app).listen(443, () => {
  console.log('HTTPS Server running on port 443');
});

3. 重定向 HTTP 到 HTTPS

為了確保所有流量都通過 HTTPS,你可以設置一個 HTTP 服務器來重定向所有請求到 HTTPS。

const http = require('http');

// 創建 HTTP 服務器
http.createServer((req, res) => {
  res.writeHead(301, { 'Location': `https://${req.headers.host}${req.url}` });
  res.end();
}).listen(80);

4. 測試配置

確保你的 Node.js 應用已經正確配置了 HTTPS,并且可以通過瀏覽器訪問。

打開瀏覽器并訪問 https://yourdomain.com,你應該能夠看到你的應用,并且瀏覽器地址欄會顯示安全鎖圖標。

5. 自動續期證書

Let’s Encrypt 證書的有效期是 90 天,因此你需要設置自動續期。

Certbot 提供了一個自動續期的腳本,你可以將其添加到 cron 任務中。

sudo crontab -e

添加以下行:

0 0,12 * * * certbot renew --post-hook "systemctl reload nginx"

這會每天檢查證書是否需要續期,并在續期后重新加載 Nginx 配置。

通過以上步驟,你就可以在 CentOS 上為你的 Node.js 應用配置 SSL 證書了。

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