nodejs http2上的ERR_INVALID_HTTP_RESPONSE

Posted

技术标签:

【中文标题】nodejs http2上的ERR_INVALID_HTTP_RESPONSE【英文标题】:ERR_INVALID_HTTP_RESPONSE on nodejs http2 【发布时间】:2018-01-15 01:21:37 【问题描述】:

在使用 node new http2 服务器时,尝试从浏览器调用它时遇到此错误:ERR_INVALID_HTTP_RESPONSE。

代码:

const http2 = require('http2');

// Create a plain-text HTTP/2 server
const server = http2.createServer();

server.on('stream', (stream, headers) => 
  console.log('headers: ', headers);
  stream.respond(
    'content-type': 'text/html',
    ':status': 200
  );
  stream.end('<h1>Hello World</h1>');
);

server.listen(80);

【问题讨论】:

【参考方案1】:

事实证明,chrome 不允许您访问不安全的 http2 服务器,我不得不将代码更改为:

const server = http2.createSecureServer(
  key,
  cert
);

然后它起作用了。

【讨论】:

以上是关于nodejs http2上的ERR_INVALID_HTTP_RESPONSE的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 nodejs 模块 http2 将 http2 与 ExpressJS 集成?

NodeJS 原生 http2 支持

nodejs环境下http2初尝试

基础 | 前端系列!nodejs环境下http2初尝试

Apache 上 NodeJS Express 的 HTTP2 设置引发错误

nodejs http2https hbs