首页 > 解决方案 > 你如何将 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);

标签: node.jsexpresshttp2

解决方案


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充当httpshttp2连接服务器。


推荐阅读