如何在Heroku上使用带节点的http2(使用Koa)

wrrgggsh  于 2022-11-13  发布在  其他
关注(0)|答案(3)|浏览(147)

我有以下代码...

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

这在本地和Heroku都很好用。所以现在我想使用Http2,所以我改成了下面的...

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

这在本地工作正常,但是,当我上传到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

那么,我如何让http2与Node、Koa和Heroku一起工作呢?

vfhzx4xs

vfhzx4xs1#

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

pgccezyw

pgccezyw2#

你可以使用https://elements.heroku.com/addons/expeditedwaf这样的插件,也可以使用cloudflare。如果你决定使用cloudflare,请确保在cloudflare和heroku之间添加SSL证书。

h4cxqtbf

h4cxqtbf3#

或者看看https://elements.heroku.com/addons/expeditedcdn。它应该比完整的Web应用程序防火墙便宜得多。

相关问题