MST

星途 面试题库

面试题:Node.js中如何使用HTTPS创建一个简单的服务器

请描述在Node.js环境下,使用HTTPS模块创建一个简单HTTPS服务器的基本步骤,并给出关键代码示例,包括如何生成或获取证书与私钥。
27.3万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试
  1. 生成证书与私钥
    • 可以使用OpenSSL工具生成自签名证书和私钥。在终端运行以下命令:
      openssl req -newkey rsa:2048 -new -nodes -out CSR.csr -keyout privateKey.key
      openssl x509 -req -in CSR.csr -days 365 -signkey privateKey.key -out certificate.crt
      
    • 生成的privateKey.key是私钥文件,certificate.crt是证书文件。
  2. 创建HTTPS服务器
    • 引入https模块。
    • 读取证书和私钥文件内容。
    • 使用https.createServer方法创建服务器,传入配置对象(包含证书和私钥)和请求处理函数。
    • 监听指定端口。

关键代码示例如下:

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

const options = {
    key: fs.readFileSync('privateKey.key'),
    cert: fs.readFileSync('certificate.crt')
};

const server = https.createServer(options, (req, res) => {
    res.writeHead(200);
    res.end('Hello, this is an HTTPS server!\n');
});

server.listen(443, () => {
    console.log('HTTPS server running on port 443');
});