简体   繁体   English

如何在 Heroku 上将 http2 与 Node 一起使用(使用 Koa)

[英]How do I use http2 with Node on Heroku (using Koa)

I have the following code...我有以下代码...

const PORT = process.env.PORT || 5000;
const app = new Koa();
...
app.listen(PORT)

This works great both locally and in Heroku.这在本地和 Heroku 都非常有效。 So now I want to use Http2 so I change to the following...所以现在我想使用Http2所以我改为以下......

const server = http2.createSecureServer(
    {
        "key": fs.readFileSync('./server-key.pem'),
        "cert": fs.readFileSync('./server-cert.pem')
    }, 
    app.callback()
)
server.listen(PORT);

This works ok locally, however, when I upload to Heroku I get...这在本地工作正常,但是,当我上传到 Heroku 时,我得到......

2021-06-24T00:43:00.383108+00:00 heroku[router]: at=error code=H13 desc="Connection closed without response" method=GET path="/" host=my-app.herokuapp.com request_id=604f4a2c-8dd2-4cfa-9cf2-3cce5ef76070 fwd="..." dyno=web.1 connect=0ms service=1ms status=503 bytes=0 protocol=https

So how do I get http2 working with Node, Koa, and Heroku?那么如何让 http2 与 Node、Koa 和 Heroku 一起工作呢?

根据 devcenter.heroku.com 上的这篇文章,Heroku 尚不支持 http/2。

You can use an add-on like https://elements.heroku.com/addons/expeditedwaf or you can use cloudflare.您可以使用https://elements.heroku.com/addons/expeditedwaf之类的附加组件,也可以使用 cloudflare。 If you decide to use cloudflare, make sure you add a SSL certificate between cloudflare and heroku.如果您决定使用 cloudflare,请确保在 cloudflare 和 heroku 之间添加 SSL 证书。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM