Support http2 for webapp #68164
gaffneyd4
started this conversation in
Platform Features or Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Goal: Ability to connect to the airbyte webapp using the http2 protocol (h2c: unencrypted http2 over TCP)
We self-host airbyte using the helm chart on Kubernetes. We have tested exposing the airbyte webapp using the ingress-nginx ingress controller, and the envoy-gateway gateway api controller.
While connecting to the airbyte webapp directly from the browser over http://localhost (using kubectl port-forward) only http/1.1 is supported:

While connecting to the airbyte webapp through the proxy (envoy, nginx) only http/1.1 is supported.
The nginx/1.27.2 server bundled in the webapp container that proxies traffic for the webapp does not honor http/1.1 h2c upgrade requests:
The nginx/1.27.2 server bundled in the webapp container that proxies traffic for the webapp rejects http2 requests (http2 prior knowledge):
When inspecting the nginx configuration inside the airbyte webapp container (
airbyte/webapp:1.6.2) I observe:The nginx server is built with http2 support:
The server configuration is missing the http2 directive (https://nginx.org/en/docs/http/ngx_http_v2_module.html) which would look like:
It looks like a shell script would need to be added to add the http2 directive in the base airbyte nginx docker image project: https://github.com/airbytehq/airbyte-platform/tree/main/airbyte-base-nginx-image/src
Here's an example shell script that implements ipv6 in the airbyte webapp nginx server: https://github.com/airbytehq/airbyte-platform/blob/9b90f653d63574f32cf5a21ba37164e787fc8366/airbyte-base-nginx-image/src/10-listen-on-ipv6-by-default.sh#L63
Beta Was this translation helpful? Give feedback.
All reactions