在CentOS上配置Node.js以支持HTTPS,您需要以下幾個步驟:
sudo yum install -y nodejs npm
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem
按照提示輸入相關信息。這將生成兩個文件:key.pem
(私鑰)和cert.pem
(證書)。
mkdir my-https-app
cd my-https-app
npm init -y
npm install express https fs
app.js
的文件,并添加以下代碼:const fs = require('fs');
const https = require('https');
const express = require('express');
const app = express();
const port = 3000;
// 讀取證書文件
const privateKey = fs.readFileSync('key.pem', 'utf8');
const certificate = fs.readFileSync('cert.pem', 'utf8');
const ca = fs.readFileSync('key.pem', 'utf8'); // 使用相同的私鑰文件作為CA
// 創建HTTPS服務選項
const credentials = { key: privateKey, cert: certificate, ca: ca };
// 設置Express應用
app.get('/', (req, res) => {
res.send('Hello, HTTPS!');
});
// 創建HTTPS服務器
const httpsServer = https.createServer(credentials, app);
// 啟動服務器
httpsServer.listen(port, () => {
console.log(`HTTPS server is running on https://localhost:${port}`);
});
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
node app.js
現在,您的Node.js應用已經配置為使用HTTPS。請注意,由于我們使用的是自簽名證書,瀏覽器可能會警告您證書不受信任。在測試環境中,您可以選擇繼續訪問該網站。但在生產環境中,請務必使用受信任的CA頒發的證書。