Fly Proxy H/2 Details

Do you all have additional documentation about the fly-proxy beyond what’s on Public Network Services?

I’m writing an application that uses HTTP 2 but I’m writing it at the frame level instead of using an H/2 library because I need to control the order of frames across streams. So my main question is whether the fly-proxy will inject additional frames (e.g. flow control, priority, ping, etc) or if it mostly just acts as a passthrough? I see that it can inject headers if I’m using the http handler and that’s fine.

It’s definitely not passthrough if you have the http handler.

If you want to pass through http/2, you can enable only the tls handler and use the following port definition:

[[services.ports]]
handlers = ["tls"]
port = "443"
tls_options = { alpn = ["h2", "http/1.1"] }

Or just h2 in the list of alpn.

Then your app will need to understand http/2 over plaintext.

2 Likes

Awesome! The tls handler is what I’m looking for then. I have h2c implemented right now so it should hopefully plug right in. :tada: