heroku/roadmap

Support HTTP/2 End-to-End (To the Dyno)

elimchaysengSF opened this issue · 4 comments

In May of 2024, Heroku released the public beta for HTTP/2 on Heroku, with HTTP/2 terminated at the router and HTTP/1.1 forwarded to the dyno. We would like to support the HTTP/2 protocol end-to-end to unlock features like Server Push and gRPC services. This requires TLS termination done at the dyno level, and more research is needed regarding certificate management at the dyno level to support this.

Further customer feedback regarding end-to-end use cases from the original HTTP/2 roadmap item can be found below:

#34 (comment)
#34 (comment)
#34 (comment)
#34 (comment)
#34 (comment)
#34 (comment)

@elimchaysengSF What are your thoughts around a new abstraction, from Dashboard & CLI, to be able to pick your routing? e.g. http/2 -> http/1.1 to the dyno versus http/2 all the way to the dyno. I realize there is a balancing act in order to not break any existing apps that would potentially just support http/1.1.

I realize it can be potentially done with flagging in via heroku features in the CLI, but this doesn't really feel like the right place to do it, nor is it supported in Dashboard. I don't believe any labs flags are supported in Dashboard actually, although Heroku Metrics's UI did have some ways of flagging in features.

@brettgoulder I do like that idea. I'm working on the GA requirements which gives us some more room for a bit of UX scope. I've seen other providers do it this way, and having it in a proper toggle through the dashboard would be ideal in my view as well.