我有以下代码...
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一起工作呢?
3条答案
按热度按时间vfhzx4xs1#
根据www.example.com上的这篇文章devcenter.heroku.com,Heroku还不支持http/2。
pgccezyw2#
你可以使用https://elements.heroku.com/addons/expeditedwaf这样的插件,也可以使用cloudflare。如果你决定使用cloudflare,请确保在cloudflare和heroku之间添加SSL证书。
h4cxqtbf3#
或者看看https://elements.heroku.com/addons/expeditedcdn。它应该比完整的Web应用程序防火墙便宜得多。