溫馨提示×

centos nodejs配置https的方法

小樊
84
2025-01-01 03:27:40
欄目: 編程語言

在CentOS上配置Node.js以支持HTTPS,您需要以下幾個步驟:

  1. 安裝Node.js和npm(如果尚未安裝):
sudo yum install -y nodejs npm
  1. 生成SSL證書和私鑰。您可以使用自簽名證書進行測試,但在生產環境中,您應該從受信任的證書頒發機構(CA)獲取證書。要生成自簽名證書,請運行以下命令:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem

按照提示輸入相關信息。這將生成兩個文件:key.pem(私鑰)和cert.pem(證書)。

  1. 創建一個新的Node.js項目文件夾并進入該文件夾:
mkdir my-https-app
cd my-https-app
  1. 初始化項目并安裝Express(一個流行的Node.js Web框架):
npm init -y
npm install express https fs
  1. 在項目文件夾中創建一個名為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}`);
});
  1. 確保您的防火墻允許HTTPS流量:
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
  1. 運行您的Node.js應用:
node app.js

現在,您的Node.js應用已經配置為使用HTTPS。請注意,由于我們使用的是自簽名證書,瀏覽器可能會警告您證書不受信任。在測試環境中,您可以選擇繼續訪問該網站。但在生產環境中,請務必使用受信任的CA頒發的證書。

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