const https = require('https');
const fs = require('fs');
// 读取 SSL 证书和私钥文件
const options = {
key: fs.readFileSync('private-key.pem'),
cert: fs.readFileSync('public-cert.pem')
};
// 创建 HTTPS 服务器
const server = https.createServer(options, (req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello, secure world!\n');
});
// 指定服务器监听的端口
const port = 443;
server.listen(port, () => {
console.log(`Server running at https://localhost:${port}/`);
});
在上述示例中,我们使用了 https.createServer 方法创建了一个 HTTPS 服务器。通过传递包含 SSL 证书和私钥的选项对象,我们确保了服务器使用加密连接。在实际应用中,你需要替换 'private-key.pem' 和 'public-cert.pem' 分别为你的私钥和证书文件的路径。
要生成这些证书文件,可以使用 OpenSSL 工具或者其他 SSL 证书颁发机构(CA)提供的证书。以下是使用 OpenSSL 生成自签名证书和私钥的简单示例:
openssl req -x509 -newkey rsa:2048 -keyout private-key.pem -out public-cert.pem -days 365
这个命令会生成一个自签名证书和私钥文件,有效期为一年。
运行示例代码后,你的 HTTPS 服务器将在 https://localhost:443/ 上运行。请注意,在生产环境中,你应该使用真实的证书和私钥,并考虑使用反向代理工具(例如 Nginx 或 Apache)来提供静态文件和处理 HTTPS 连接。
转载请注明出处:http://www.zyzy.cn/article/detail/4769/Node.js