Note: the TLS handler includes ALPN negotiation for HTTP/2. When possible, applications will connect to these kinds of Fly.io services using HTTP/2, and we will forward an unencrypted HTTP/2 connection (h2c ) to the application process.
However, it seems one still needs to explicitly enable this:
[services.ports.tls_options]
alpn = ["h2"]
Took me 2 hours to figure out how tun run a gRPC server behind the reverse proxy. Docs could probably be a bit clearer on this point.
Thanks for the feedback @andig and for your patience. We’ll definitely take a look at updating that doc and linking more clearly to the fly.toml reference.
Updated Public Network Services · Fly Docs. Added a section on configuring handlers, and also added fly.toml snippets to each handler section. (Plus other non-related updates to the IP address sections.)