面试题答案
一键面试- 生成证书与私钥:
- 可以使用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
是证书文件。
- 可以使用OpenSSL工具生成自签名证书和私钥。在终端运行以下命令:
- 创建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');
});