以下举例说明了一个使用核心 API 的简单的 HTTP/2 服务器。
由于没有已知的浏览器支持[未加密的 HTTP/2][HTTP/2 Unencrypted],因此在与浏览器客户端进行通信时必须使用 [http2.createSecureServer()]。
const http2 = require('http2');const fs = require('fs');const server = http2.createSecureServer({key: fs.readFileSync('密钥.pem'),cert: fs.readFileSync('证书.pem')});server.on('error', (err) => console.error(err));server.on('stream', (stream, headers) => {// 流是一个双工流。stream.respond({'content-type': 'text/html; charset=utf-8',':status': 200});stream.end('<h1>你好世界</h1>');});server.listen(8443);
要生成此示例的证书和密钥,可以运行:
openssl req -x509 -newkey rsa:2048 -nodes -sha256 -subj '/CN=localhost' \-keyout 密钥.pem -out 证书.pem
