Heya -

Tried to deploy a gRPC application with App Platform the other day, and found that calls would hang. My naïve guess is that HTTP/2 is unsupported.

Is that the case, or is http/2 expected to work? If not, any plans to add that support?

Thanks!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
1 answer

While the App Platform may express your application as HTTP/2 in connections from your end-users to our edge gateways, connections from our edge to your application are currently always made using plaintext HTTP.

HTTP/2 must be negotiated via ALPN extensions on a TLS encrypted connection. This means that in order to support HTTP/2 your application server would need to listen as a TLS server with keys and certificates recognized by our edge gateways. Offering this functionality in the future would require either both our router and your application explicitly enable h2c (which is not widely supported), OR injecting a key/certificate pair into the application. Neither option offers a gentle fallback or is broadly standardized. We may implement this functionality in the future if standardization improves, or the functionality is frequently requested.

  • Thanks for the thorough answer here, makes sense.

    Would love to see this sort of negotiation implemented, and would be happy to use either h2c (have had success with this version for internal applications in the past) or signing pairs to do that successfully.

    This isn’t supported in any big PaaS offering I’m aware of (app engine, heroku, elastic beanstalk). Would be great to have this capability somewhere, heh

Submit an Answer