I have this app that listens to both regular HTTP and gRPC requests. To do this, I listen to HTTP2 only (with prior knowledge) and configured fly.toml to use h2_backend = true.
[http_service]
internal_port = 8080
force_https = true
auto_stop_machines = 'stop'
auto_start_machines = true
min_machines_running = 0
processes = ['app']
[http_service.http_options]
h2_backend = true
This wasn’t ideal, but it worked as long as connections started with http2 prior-knowledge. Until it didn’t… not sure when, but this recipe stopped working without any code/config changes.
The errors seem to be from the edge proxy, not hitting the app
[PU02] could not complete HTTP request to instance: hyper error: http2 error (source: stream error received: unspecific protocol error detected)
Does anyone have any hints on this? Or a similar situation? From the docs, this seems to be the proper way… terminating TLS on the edge and forward H2C…