node.js - 你如何将 HTTP2 lib 与 EXPRESS js 一起使用?,我遇到了这个问题 TypeError: Cannot read property 'readable' of undefined
问题描述
const http2 = require('http2'); const fs = require('fs'); const express = require('express');
const app = express();
app.get('*', (req, res) => { res.status(200).end('ok'); });
const server = http2.createSecureServer({ key: fs.readFileSync('./server.key'), cert: fs.readFileSync('./server.crt'), }, app);
server.listen(20020);
解决方案
1)express不支持http2,请改用https(问题链接):
const https = require('https');
const fs = require('fs');
const express = require('express');
const app = express();
app.get('*', (req, res) => { res.status(200).end('ok'); });
const server = https.createServer({
key: fs.readFileSync('./server.key'),
cert: fs.readFileSync('./server.crt'),
}, app);
server.listen(20020);
2)不要使用服务器资源进行加密,最好使用http,让nginx充当https、http2连接服务器。
推荐阅读
- regex - 正则表达式(重复组)似乎不起作用
- css - CSS 使用 z-index 将子级设为最顶层
- mysql - Mysql DB - 更改服务器时区时需要在数据库中完成的操作
- acumatica - 访问登录的用户角色并包含在页面源中
- android - jcenter.bitrary 库支持-v4/26.1.0 无法访问 || 安卓构建 || 离子构建 || 错误
- python - 具有多个值的张量的布尔值在 Pytorch 中不明确
- sqlite - 从 sqlite3 提取数据时定义时间的问题
- axios - 带有 Axios 和 Loopback 的“where”过滤器中的变量
- flutter - flutterBlue.connect(device, timeout: const Duration(seconds: 10),).listen(null); 飘飘然
- image - 如何将 []byte 对象转换为图像并将其作为 jpeg 图像存储在磁盘上